| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
PiperOrigin-RevId: 500765473
Change-Id: Iaa3f9fdee6c9f4322bc8995b0d381cf1c8cb1349
|
|
|
|
|
|
|
|
| |
This is consistent with the rest of the GTEST_HAS_DEATH usages in
the code and the example in gtest-port.h.
PiperOrigin-RevId: 500740093
Change-Id: I2acc158116b0e8bccc8ab45d75c8059828a4c251
|
|\
| |
| |
| |
| | |
PiperOrigin-RevId: 500726761
Change-Id: I42fbd4d2d8015e907b3c40417d35be2bbb63085e
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 500401844
Change-Id: I6d0909a8e395c914861dd034824a34737a52d71f
|
|\ \
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 500300819
Change-Id: Iacff97071d158843d687c811b0d78d4ddeba9039
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This also ensures that there is only one definition of
GetArchSpecificEngines by moving the condition to a common place.
PiperOrigin-RevId: 500038304
Change-Id: If0c55d701dfdc11a1a9c8c1b34eb220435529ffb
|
| | |
| | |
| | |
| | |
| | | |
PiperOrigin-RevId: 499964205
Change-Id: I45a1d62a5e093921946e7c3c7ab31480252b330e
|
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
CalculateBase64EscapedLenInternal helper method.
Note that output padding is conditional on do_padding.
PiperOrigin-RevId: 499901986
Change-Id: I8c1d28fe372b3e0e2216654db83f949caa297892
|
| |
| |
| |
| |
| |
| |
| | |
This is now available as the public symbol ABSL_UNREACHABLE().
PiperOrigin-RevId: 499578459
Change-Id: Ib36c1826eb733271a6b02e81d6c3d088b255180a
|
| |
| |
| |
| |
| |
| |
| |
| | |
32-bit builds with SSE 4.2 do exist, and these builds do not work
without this patch.
PiperOrigin-RevId: 499498979
Change-Id: I0ade09068804655652c07d0f1ef13554464a1558
|
| |
| |
| |
| |
| |
| |
| | |
Using Damerau-Levenshtein distance to calculate potential candidates to suggest.
PiperOrigin-RevId: 499449034
Change-Id: I805aafefcd0f4f85585ac33a041c15360619c96a
|
| |
| |
| |
| |
| | |
PiperOrigin-RevId: 499292396
Change-Id: I3c66754169d7d7e304d5b973c0872690b79f59c5
|
|/
|
|
|
|
|
|
|
|
| |
off64_t is not provided without defining _LARGEFILE64_SOURCE on musl
this define is not defined automatically like glibc where it gets
defined when _GNU_SOURCE is defined. Using off_t makes it portable
across musl/glibc and for using 64bit off_t on glibc 32bit systems
-D_FILE_OFFSET_BITS=64 can be defined during build via CXXFLAGS
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
| |
PiperOrigin-RevId: 498192454
Change-Id: Ib6d251b9154322ae873477b44cf7265a74ce11f4
|
|
|
|
|
| |
PiperOrigin-RevId: 498179140
Change-Id: Ie18b68e6313817b4f41fec6b10dd878436431730
|
|
|
|
|
| |
PiperOrigin-RevId: 498048994
Change-Id: Iee969b9171921e3ffdca2610f9b93b53678d0b9d
|
|
|
|
|
| |
PiperOrigin-RevId: 497998566
Change-Id: I8d43311e280a5ea46c42abed55be62cd70d4d54a
|
|
|
|
|
|
|
| |
reserved growth if the reservation wouldn't grow the table.
PiperOrigin-RevId: 497246219
Change-Id: I9671236f56d10851c49de71c21899368be6c3a00
|
|
|
|
|
| |
PiperOrigin-RevId: 497232675
Change-Id: Ic3cabbb85d90eb4f32a4bee17207e73475258e4b
|
|
|
|
|
| |
PiperOrigin-RevId: 497197704
Change-Id: I3865a874e04f6f55a1ab374b03451535a86bc5a3
|
|
|
|
|
|
|
|
|
|
| |
* The template parameter provided to `FixedArray` for the number of inline elements is named `N`
* If left defaulted, which is recommended, `FixedArray` chooses the number of inline elements by itself
* The `inline_elements` static class member contains the actual number of inlinable elements
* Previously the docs referred to the template parameter as `inline_elements` instead of `N`.
PiperOrigin-RevId: 497185546
Change-Id: I321092826d956704c0074062d2a7b924b28e36d0
|
|
|
|
|
|
|
| |
that the assert can be a static_assert
PiperOrigin-RevId: 497161039
Change-Id: If714cb25ca1d9481ada94b3b5b4cb16a4dd4e85a
|
|
|
|
|
| |
PiperOrigin-RevId: 497124964
Change-Id: Ia5d7005fa9bc422c1ac9a47d5cbaf8c6b8f06d84
|
|
|
|
|
| |
PiperOrigin-RevId: 496974198
Change-Id: I73b4013a2ad9fd37650d788cbd1e758b327b59d2
|
|
|
|
|
|
|
|
|
|
|
| |
ABSL_UNREACHABLE() is an unreachable statement. A program which reaches
one has undefined behavior, and the compiler may optimize accordingly.
The behavior is changed to abort the program in !NDEBUG or
ABSL_OPTION_HARDENED modes.
PiperOrigin-RevId: 496917150
Change-Id: If036b2d9567933fa266fbcd33f3f98c682ad7f41
|
|
|
|
|
| |
PiperOrigin-RevId: 496788919
Change-Id: I8867f8b884b81aa2f7b6d08dabd90c75965d1939
|
|
|
|
|
|
|
|
|
| |
or ABSL_ATTRIBUTE_PURE_FUNCTION
However, both absl_attributes are now unimplemented to avoid breaking existing users.
PiperOrigin-RevId: 496769399
Change-Id: I9c00cb60b885526300d744f9ea7c0f2178f092bb
|
|
|
|
|
| |
PiperOrigin-RevId: 496514638
Change-Id: I45b8dfe01c83915c460711339d2d8c38604c8d81
|
|
|
|
|
|
|
| |
arrays so that we can detect invalid iterator use.
PiperOrigin-RevId: 496455788
Change-Id: I83df92828098a3ef1181b4e454f3ac5d3ac7a2f2
|
|
|
|
|
|
|
|
|
|
| |
Chromium builds Abseil with this warning.
Tests are still built with -Wno-sign-conversion due to many pre-existing
warnings.
PiperOrigin-RevId: 496438882
Change-Id: Ic47c893e5289d3d45cd5717ba02d5499a3b346fa
|
|
|
|
|
|
|
|
|
|
| |
Chromium builds Abseil with this warning.
Tests are still built with -Wno-shorten-64-to-32 due to many pre-existing
warnings.
PiperOrigin-RevId: 496421954
Change-Id: I796ca444967474df0bdeb3fe82f85512dab11d8f
|
|
|
|
|
| |
PiperOrigin-RevId: 496397075
Change-Id: Ib44467cf5704b9147c7fd197e8343a666fada1c3
|
|
|
|
|
|
|
|
| |
name old cpu/op new cpu/op delta
BM_Group_CountLeadingEmptyOrDeleted 0.98ns ± 0% 0.78ns ± 0% -20.51% (p=0.000 n=10+10)
PiperOrigin-RevId: 496397005
Change-Id: I1c6b325b14566da194f21d3387b6f4d838bf0b34
|
|
|
|
|
| |
PiperOrigin-RevId: 496112752
Change-Id: I0a7a8854a642f63ddd3ba67b9268bbb0803118e9
|
|
|
|
|
| |
PiperOrigin-RevId: 495898835
Change-Id: Id2150a0505020ac2be4487e904d167a26316260c
|
|
|
|
|
|
|
|
|
| |
Rather than add new friends every time
a new (internal) use arises, just expose
the timestamp.
PiperOrigin-RevId: 495722262
Change-Id: I25d2ce64769dc58cbe634259f07c600ce6c1e714
|
|
|
|
|
|
|
|
|
|
|
| |
correctly state that only the first registered hook will be honored.
The comments that imply otherwise were never true, and were a leftover artifact during initial development of the feature.
Also remove a TODO() I gave myself years ago; this is never going to happen and isn't worth the bother.
PiperOrigin-RevId: 495687371
Change-Id: I63f8ef57d659075bf290caae0617ea61ceb2c1db
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in GCC and LLVM build configs
This was accomplished by adding GccStyleFilterAndCombine() in copts.py
Previously, if we had a default warning of the form -Wwarning, adding
-Wno-warning to the list of test warnings would just add conflicting
flags. We now filter -Wwarning if -Wno-warning is added to the test warnings.
PiperOrigin-RevId: 495683815
Change-Id: I5dfd8a30b0be09d6b48237f61d598230ab9027db
|
|
|
|
|
|
|
|
|
| |
This was likely an unintentional behavior change made a while ago while trying to reduce duplication. The new behavior will always include the unexpanded macro in the error string. For example, `CHECK_EQ(MACRO(x), MACRO(y))` will now output "MACRO(x) == MACRO(y)" if it fails. Before this change, CHECK and QCHECK were the only macros that had this behavior.
Not using function-like macro aliases is a possible alternative here, but unfortunately that would flood the macro namespace downstream with CHECK* and break existing code.
PiperOrigin-RevId: 495138582
Change-Id: I6a1afd89a6b9334003362e5d3e55da68f86eec98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We already prefetch in case of large inputs, do the same
for medium sized inputs as well. This is mostly neutral
for performance in most cases, so this also adds a new
bench with working size >> cache size to ensure that we
are seeing performance benefits of prefetch. Main benefits
are on AMD with hardware prefetchers turned off:
AMD prefetchers on:
name old time/op new time/op delta
BM_Calculate/0 2.43ns ± 1% 2.43ns ± 1% ~ (p=0.814 n=40+40)
BM_Calculate/1 2.50ns ± 2% 2.50ns ± 2% ~ (p=0.745 n=39+39)
BM_Calculate/100 9.17ns ± 1% 9.17ns ± 2% ~ (p=0.747 n=40+40)
BM_Calculate/10000 474ns ± 1% 474ns ± 2% ~ (p=0.749 n=40+40)
BM_Calculate/500000 22.8µs ± 1% 22.9µs ± 2% ~ (p=0.298 n=39+40)
BM_Extend/0 1.38ns ± 1% 1.38ns ± 1% ~ (p=0.651 n=40+40)
BM_Extend/1 1.53ns ± 2% 1.53ns ± 1% ~ (p=0.957 n=40+39)
BM_Extend/100 9.48ns ± 1% 9.48ns ± 2% ~ (p=1.000 n=40+40)
BM_Extend/10000 474ns ± 2% 474ns ± 1% ~ (p=0.928 n=40+40)
BM_Extend/500000 22.8µs ± 1% 22.9µs ± 2% ~ (p=0.331 n=40+40)
BM_Extend/100000000 4.79ms ± 1% 4.79ms ± 1% ~ (p=0.753 n=38+38)
BM_ExtendCacheMiss/10 25.5ms ± 2% 25.5ms ± 2% ~ (p=0.988 n=38+40)
BM_ExtendCacheMiss/100 23.1ms ± 2% 23.1ms ± 2% ~ (p=0.792 n=40+40)
BM_ExtendCacheMiss/1000 37.2ms ± 1% 28.6ms ± 2% -23.00% (p=0.000 n=38+40)
BM_ExtendCacheMiss/100000 7.77ms ± 2% 7.74ms ± 2% -0.45% (p=0.006 n=40+40)
AMD prefetchers off:
name old time/op new time/op delta
BM_Calculate/0 2.43ns ± 2% 2.43ns ± 2% ~ (p=0.351 n=40+39)
BM_Calculate/1 2.51ns ± 2% 2.51ns ± 1% ~ (p=0.535 n=40+40)
BM_Calculate/100 9.18ns ± 2% 9.15ns ± 2% ~ (p=0.120 n=38+39)
BM_Calculate/10000 475ns ± 2% 475ns ± 2% ~ (p=0.852 n=40+40)
BM_Calculate/500000 22.9µs ± 2% 22.8µs ± 2% ~ (p=0.396 n=40+40)
BM_Extend/0 1.38ns ± 2% 1.38ns ± 2% ~ (p=0.466 n=40+40)
BM_Extend/1 1.53ns ± 2% 1.53ns ± 2% ~ (p=0.914 n=40+39)
BM_Extend/100 9.49ns ± 2% 9.49ns ± 2% ~ (p=0.802 n=40+40)
BM_Extend/10000 475ns ± 2% 474ns ± 1% ~ (p=0.589 n=40+40)
BM_Extend/500000 22.8µs ± 2% 22.8µs ± 2% ~ (p=0.872 n=39+40)
BM_Extend/100000000 10.0ms ± 3% 10.0ms ± 4% ~ (p=0.355 n=40+40)
BM_ExtendCacheMiss/10 196ms ± 2% 196ms ± 2% ~ (p=0.698 n=40+40)
BM_ExtendCacheMiss/100 129ms ± 1% 129ms ± 1% ~ (p=0.602 n=36+37)
BM_ExtendCacheMiss/1000 88.6ms ± 1% 57.2ms ± 1% -35.49% (p=0.000 n=36+38)
BM_ExtendCacheMiss/100000 14.9ms ± 1% 14.9ms ± 1% ~ (p=0.888 n=39+40)
Intel skylake:
BM_Calculate/0 2.49ns ± 2% 2.44ns ± 4% -2.15% (p=0.001 n=31+34)
BM_Calculate/1 3.04ns ± 2% 2.98ns ± 9% -1.95% (p=0.003 n=31+35)
BM_Calculate/100 8.64ns ± 3% 8.53ns ± 5% ~ (p=0.065 n=31+35)
BM_Calculate/10000 290ns ± 3% 285ns ± 7% -1.80% (p=0.004 n=28+34)
BM_Calculate/500000 11.8µs ± 2% 11.6µs ± 8% -1.59% (p=0.003 n=26+34)
BM_Extend/0 1.56ns ± 1% 1.52ns ± 3% -2.44% (p=0.000 n=26+35)
BM_Extend/1 1.88ns ± 3% 1.83ns ± 6% -2.17% (p=0.001 n=27+35)
BM_Extend/100 9.31ns ± 3% 9.13ns ± 7% -1.92% (p=0.000 n=33+38)
BM_Extend/10000 290ns ± 3% 283ns ± 3% -2.45% (p=0.000 n=32+38)
BM_Extend/500000 11.8µs ± 2% 11.5µs ± 8% -1.80% (p=0.001 n=35+37)
BM_Extend/100000000 6.39ms ±10% 6.11ms ± 8% -4.34% (p=0.000 n=40+40)
BM_ExtendCacheMiss/10 36.2ms ± 7% 35.8ms ±14% ~ (p=0.281 n=33+37)
BM_ExtendCacheMiss/100 26.9ms ±15% 25.9ms ±12% -3.93% (p=0.000 n=40+40)
BM_ExtendCacheMiss/1000 23.8ms ± 5% 23.4ms ± 5% -1.68% (p=0.001 n=39+40)
BM_ExtendCacheMiss/100000 10.1ms ± 5% 10.0ms ± 4% ~ (p=0.051 n=39+39)
PiperOrigin-RevId: 495119444
Change-Id: I67bcf3b0282b5e1c43122de2837a24c16b8aded7
|
|
|
|
|
|
|
| |
that the proper non-obsolete RFC 4648 is already listed in escaping.h's Base64Escape() documentation)
PiperOrigin-RevId: 494821805
Change-Id: Id3bffcb968a7c865c9a6bcbf241870c3674601ba
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
disassembly under LLVM. Due to the issue described in
https://github.com/abseil/abseil-cpp/issues/1340 and
https://github.com/google/benchmark/commit/8545dfb3ea301f5c77626a046d4756ef9f2e4970
it no longer builds under GCC.
The other changes are necessary to fix the build using the latest benchmark snapshot
Fixes #1340
PiperOrigin-RevId: 494809290
Change-Id: I4a03b2e2dcbdc273e59f1f09f204322e388e7cea
|
|
|
|
|
| |
PiperOrigin-RevId: 494749165
Change-Id: I8d855be9c508a9fdfb5f60e87471c0947057ecc9
|
|
|
|
|
| |
PiperOrigin-RevId: 494587777
Change-Id: I41504edca6fcf750d52602fa84a33bc7fe5fbb48
|
|
|
|
|
|
|
| |
See cl/490546476 for details.
PiperOrigin-RevId: 494047255
Change-Id: Ic2f88d976fa9a70ff104c47e9daf682ab7d0b7d2
|
|
|
|
|
| |
PiperOrigin-RevId: 493993005
Change-Id: I0705be8678022a9e08a1af9972687b7955593994
|
|
|
|
|
|
|
|
|
| |
This was an unintentional behavior change when we added a new layer of macros. Not using function-like macro aliases would get around this, but unfortunately that would flood the macro namespace downstream with CHECK and LOG (and break existing code).
Note, the old behavior only applied to CHECK and QCHECK. Other CHECK macros already had multiple layers of function-like macros and were unaffected.
PiperOrigin-RevId: 493984662
Change-Id: I9a050dcaf01f2b6935f02cd42e23bc3a4d5fc62a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After internal investigation, it’s no longer clear that the alternative
LowLevelHash mixer committed in a05366d851c5cb88065272f951e03955197e7c11
unequivocally improves performance on AArch64. It unnecessarily reduces
performance on Apple Silicon and the AWS Graviton. It also lowers hash
quality, which offsets much of the performance gain it provides on the
Arm Neoverse N1 (see https://github.com/abseil/abseil-cpp/issues/1093).
Switch back to the original mixer.
Closes: https://github.com/abseil/abseil-cpp/issues/1093
PiperOrigin-RevId: 493941913
Change-Id: I84c789b2f88c91dec22f6f0f6e8c5129d2939a6f
|
|
|
|
|
|
|
|
|
|
|
| |
first member of the settings_ CompressedTuple so that we can move growth_left into CommonFields.
This allows for removing growth_left as a separate argument for a few functions.
Also, move the infoz() accessor functions to be before the data members of CommonFields to comply with the style guide.
PiperOrigin-RevId: 493918310
Change-Id: I58474e37d3b16a1513d2931af6b153dea1d809c2
|