6 Commits

Author SHA1 Message Date
Chris Kennelly
ea64b6e7e6 Consume result from various SampleRecorder methods.
PiperOrigin-RevId: 897903309
Change-Id: I944031c84f2bcc6c116cef750ce789381b134467
2026-04-10 14:58:39 -07:00
Vitaly Goldshteyn
018de0cafd Fix flaky tests due to sampling by introducing utility to refresh sampling counters for the current thread.
Non refreshed counters may cause unknown (implementation detail) delay for sampling after reenabling.

Disabling sampling doesn't have effect on `ShouldSampleNextTable`, so SOO tables can be resized to size 3 even after disabling. Refreshing counters will guarantee that not happening during the test.

PiperOrigin-RevId: 724020036
Change-Id: I814c90cbab18b66e66283e7049151e6819302559
2025-02-06 11:56:14 -08:00
Evan Brown
1449c9a106 Implement small object optimization in swisstable - disabled for now.
Details:
- We use the space for control/slots pointers as the inline buffer.
- We use a max inline capacity of 1 to make the implementation much simpler and to avoid having to randomize the iteration order for inline tables.
- For iteration of inline tables, we introduce the kSooControl buffer which just has 1 full control byte followed by 1 sentinel control byte so that incrementing yields an end() iterator. We don't access kSooControl during lookups - only iteration.
PiperOrigin-RevId: 613253492
Change-Id: Id98ff11842f8bef27ac7ed88138dc03b46ce4fa6
2024-03-06 10:01:43 -08:00
Abseil Team
9336be04a2 Export of internal Abseil changes
--
e7f53dfbf809812e84770217777f81b6308a3084 by Abseil Team <absl-team@google.com>:

Add a parameter pack to absl profile to allow profiles to separate
dynamic data from static data that is available at constructor-time.

Background: `inline_element_size` is effectively constant, but there
is a data race between its initialization and its access. We had fixed that race by making
inline_element_size atomic.  This CL changes `inline_element_size`
back to a non-atomic integer, and provides a way for all profiles to
provide Register()-time values.
PiperOrigin-RevId: 413960559

--
70234c5943f8e37e17c1d9c54d8ed61d39880abf by Chris Kennelly <ckennelly@google.com>:

Document that absl::FunctionRef does not allocate.

PiperOrigin-RevId: 413946831

--
3308ae571412c4be3cc32d088c6edac98ff2d1ed by Samuel Benzaquen <sbenza@google.com>:

Internal change

PiperOrigin-RevId: 413933619

--
1617093a730d055edcf7bc04fdd6509783f5f75d by Martijn Vels <mvels@google.com>:

Internal Change

PiperOrigin-RevId: 413778735

--
03ad683f059c806a6c8b04f5b79b2662c3df8c73 by Evan Brown <ezb@google.com>:

Unify btree erase_if definitions and optimize them so that we only do rebalancing once per leaf node.

PiperOrigin-RevId: 413757280

--
5ba402f70801938178e486617063f01c7862525d by Martijn Vels <mvels@google.com>:

Cleanup up cord sampling internals

PiperOrigin-RevId: 413755011

--
522da8f9d3e0f11630d89fb41952004742bc335a by Evan Brown <ezb@google.com>:

Add b-tree benchmark for erase_if.

Since this benchmark doesn't work for std:: containers before C++20, disable it for them.

PiperOrigin-RevId: 413740844

--
a690ea42de8ed4a761d00235d8b2fb7548ba9732 by Andy Getzendanner <durandal@google.com>:

Import of CCTZ from GitHub.

PiperOrigin-RevId: 413735737
GitOrigin-RevId: e7f53dfbf809812e84770217777f81b6308a3084
Change-Id: I4f9f9039ba92831bc48971964aa063244c9fed72
2021-12-03 13:15:13 -05:00
Abseil Team
e11e039e02 Export of internal Abseil changes
--
08d99ee216b7bfac1c5182db952d4e053e5ebc31 by Abseil Team <absl-team@google.com>:

Fix race condition reported by tsan on `inline_element_size` in hashtablez.

PiperOrigin-RevId: 413520771
GitOrigin-RevId: 08d99ee216b7bfac1c5182db952d4e053e5ebc31
Change-Id: Ibd396803f04a659cfbdb8dc7ec37511643657694
2021-12-02 14:11:24 -05:00
Abseil Team
cc413f8b67 Export of internal Abseil changes
--
05a099a580753f8e96cee38572e94dcdc079361b by Abseil Team <absl-team@google.com>:

Import of CCTZ from GitHub.

PiperOrigin-RevId: 405966217

--
c6b81e9ebc183d8389f14ecd091c8bad08cfe0aa by Abseil Team <absl-team@google.com>:

Add `inline_element_size` to hashtablez (so that we can compute the weighted load factors properly e.g., in b/187896534).

PiperOrigin-RevId: 405917711

--
3e3673de4e54e4142c54b09e1644dfa3de4bb296 by Abseil Team <absl-team@google.com>:

align indent of code comment in mutex.h

PiperOrigin-RevId: 405871997

--
2248301a5b14f8d2be5b2e9088f3528a353ea491 by Derek Mauro <dmauro@google.com>:

Internal change

PiperOrigin-RevId: 405639236

--
bc7d3c56fdad3dde4b89324af142529f2afe5f1b by Abseil Team <absl-team@google.com>:

Import of CCTZ from GitHub.

PiperOrigin-RevId: 405508045

--
66472387276ef02505d99195747be862768bb35b by Laramie Leavitt <lar@google.com>:

Also use uint8_t golden values in randen_test.cc

This makes randen_test, randen_slow_test, and randen_hwaes_test essentially
identical, as is the intent.

PiperOrigin-RevId: 405484423
GitOrigin-RevId: 05a099a580753f8e96cee38572e94dcdc079361b
Change-Id: I3dd5b0cfdb98d6e1ab02266194ba67d15428c2f8
2021-10-28 00:09:21 -04:00