summaryrefslogtreecommitdiff
path: root/README.md
Commit message (Collapse)AuthorAge
* Export of internal Abseil changesGravatar Abseil Team2021-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- c68f1886f5e8fd90eb0c2d2e68feaf00a7cdacda by CJ Johnson <johnsoncj@google.com>: Introduce absl::Cleanup to the OSS repo PiperOrigin-RevId: 354583156 -- 17030cf388e10f7eb959e3e566326d1072ce392e by Abseil Team <absl-team@google.com>: Internal change only PiperOrigin-RevId: 354574953 -- e979d7236d4f3252e79ddda6739b67a9a326bf6d by CJ Johnson <johnsoncj@google.com>: Internal change PiperOrigin-RevId: 354545297 -- 7ea02b3783f7f49ef97d86a8f6580a19cc57df14 by Abseil Team <absl-team@google.com>: Pre-allocate memory for vectors where the size is known. PiperOrigin-RevId: 354344576 -- 9246c7cb11f1d6444f79ebe25acc69a8a9b870e0 by Matt Kulukundis <kfm@google.com>: Add support for Elbrus 2000 (e2k) Import of https://github.com/abseil/abseil-cpp/pull/889 PiperOrigin-RevId: 354344013 -- 0fc93d359cc1fb307552e917b37b7b2e7eed822f by Abseil Team <absl-team@google.com>: Integrate CordRepRing logic into cord (but do not enable it) PiperOrigin-RevId: 354312238 -- eda05622f7da71466723acb33403f783529df24b by Abseil Team <absl-team@google.com>: Protect ignore diagnostic with "__has_warning". PiperOrigin-RevId: 354112334 -- 47716c5d8fb10efa4fdd801d28bac414c6f8ec32 by Abseil Team <absl-team@google.com>: Rearrange InlinedVector copy constructor and destructor to treat a few special cases inline and then tail-call a non-inlined routine for the rest. In particular, we optimize for empty vectors in both cases. Added a couple of benchmarks that copy either an InlVec<int64> or an InlVec<InlVec<int64>>. Speed difference: ``` BM_CopyTrivial/0 0.92ns +- 0% 0.47ns +- 0% -48.91% (p=0.000 n=11+12) BM_CopyTrivial/1 0.92ns +- 0% 1.15ns +- 0% +25.00% (p=0.000 n=10+9) BM_CopyTrivial/8 8.57ns +- 0% 10.72ns +- 1% +25.16% (p=0.000 n=10+12) BM_CopyNonTrivial/0 3.21ns +- 0% 0.70ns +- 0% -78.23% (p=0.000 n=12+10) BM_CopyNonTrivial/1 5.88ns +- 1% 5.51ns +- 0% -6.28% (p=0.000 n=10+8) BM_CopyNonTrivial/8 21.5ns +- 1% 15.2ns +- 2% -29.23% (p=0.000 n=12+12) ``` Note: the slowdowns are a few cycles which is expected given the procedure call added in that case. We decided this is a good tradeoff given the code size reductions and the more significant speedups for empty vectors. Size difference (as measured by nm): ``` BM_CopyTrivial from 1048 bytes to 326 bytes. BM_CopyNonTrivial from 749 bytes to 470 bytes. ``` Code size for a large binary drops by ~500KB (from 349415719 to 348906015 348906191). All of the benchmarks that showed a significant difference: Ones that improve with this CL: ``` BM_CopyNonTrivial/0 3.21ns +- 0% 0.70ns +- 0% -78.23% (p=0.000 n=12+10) BM_InlinedVectorFillString/0 0.93ns +- 0% 0.24ns +- 0% -74.19% (p=0.000 n=12+10) BM_InlinedVectorAssignments/1 10.5ns +- 0% 4.1ns +- 0% -60.64% (p=0.000 n=11+10) BM_InlinedVectorAssignments/2 10.7ns +- 0% 4.4ns +- 0% -59.08% (p=0.000 n=11+11) BM_CopyTrivial/0 0.92ns +- 0% 0.47ns +- 0% -48.91% (p=0.000 n=11+12) BM_CopyNonTrivial/8 21.5ns +- 1% 15.2ns +- 2% -29.23% (p=0.000 n=12+12) BM_StdVectorEmpty 0.47ns +- 1% 0.35ns +- 0% -24.73% (p=0.000 n=12+12) BM_StdVectorSize 0.46ns +- 2% 0.35ns +- 0% -24.32% (p=0.000 n=12+12) BM_SwapElements<LargeCopyableOnly>/0 3.44ns +- 0% 2.76ns +- 1% -19.83% (p=0.000 n=11+11) BM_InlinedVectorFillRange/256 20.7ns +- 1% 17.8ns +- 0% -14.08% (p=0.000 n=12+9) BM_CopyNonTrivial/1 5.88ns +- 1% 5.51ns +- 0% -6.28% (p=0.000 n=10+8) BM_SwapElements<LargeCopyableMovable>/1 4.19ns +- 0% 3.95ns +- 1% -5.63% (p=0.000 n=11+12) BM_SwapElements<LargeCopyableMovableSwappable>/1 4.18ns +- 0% 3.99ns +- 0% -4.70% (p=0.000 n=9+11) BM_SwapElements<LargeCopyableMovable>/0 2.41ns +- 0% 2.31ns +- 0% -4.45% (p=0.000 n=12+12) BM_InlinedVectorFillRange/64 8.25ns +- 0% 8.04ns +- 0% -2.51% (p=0.000 n=12+11) BM_SwapElements<LargeCopyableOnly>/1 82.4ns +- 0% 81.5ns +- 0% -1.06% (p=0.000 n=12+12) ``` Ones that get worse with this CL: ``` BM_CopyTrivial/1 0.92ns +- 0% 1.15ns +- 0% +25.00% (p=0.000 n=10+9) BM_CopyTrivial/8 8.57ns +- 0% 10.72ns +- 1% +25.16% (p=0.000 n=10+12) BM_SwapElements<LargeCopyableMovableSwappable>/512 1.48ns +- 1% 1.66ns +- 1% +11.88% (p=0.000 n=12+12) BM_InlinedVectorFillString/1 11.5ns +- 0% 12.8ns +- 1% +11.62% (p=0.000 n=12+11) BM_SwapElements<LargeCopyableMovableSwappable>/64 1.48ns +- 2% 1.66ns +- 1% +11.66% (p=0.000 n=12+11) BM_SwapElements<LargeCopyableMovableSwappable>/1k 1.48ns +- 1% 1.65ns +- 2% +11.32% (p=0.000 n=12+12) BM_SwapElements<LargeCopyableMovable>/512 1.48ns +- 2% 1.58ns +- 4% +6.62% (p=0.000 n=11+12) BM_SwapElements<LargeCopyableMovable>/1k 1.49ns +- 2% 1.58ns +- 3% +6.05% (p=0.000 n=12+12) BM_SwapElements<LargeCopyableMovable>/64 1.48ns +- 2% 1.57ns +- 4% +6.04% (p=0.000 n=11+12) BM_InlinedVectorFillRange/1 4.81ns +- 0% 5.05ns +- 0% +4.83% (p=0.000 n=11+11) BM_InlinedVectorFillString/8 79.4ns +- 1% 83.1ns +- 1% +4.64% (p=0.000 n=10+12) BM_StdVectorFillString/1 16.3ns +- 0% 16.6ns +- 0% +2.13% (p=0.000 n=11+8) ``` PiperOrigin-RevId: 353906786 -- 8e26518b3cec9c598e5e9573c46c3bd1b03a67ef by Abseil Team <absl-team@google.com>: Internal change PiperOrigin-RevId: 353737330 -- f206ae0983e58c9904ed8b8f05f9caf564a446be by Matt Kulukundis <kfm@google.com>: Import of CCTZ from GitHub. PiperOrigin-RevId: 353682256 GitOrigin-RevId: c68f1886f5e8fd90eb0c2d2e68feaf00a7cdacda Change-Id: I5790c1036c4f543c701d1039848fabf7ae881ad8
* Export of internal Abseil changesGravatar Abseil Team2020-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- be02479c8f5ddf18f0d711e86648a2a0a9823fb6 by Gennadiy Rozental <rogeeff@google.com>: Suppress MSVC warning about unused return value PiperOrigin-RevId: 348624511 -- 10e6da15e34d84d314fc1eca1bcdeb96538a04d1 by Derek Mauro <dmauro@google.com>: Add additional information to README.md PiperOrigin-RevId: 348562436 -- 57283e13d221d9a3f6678a1c6db1a41b4421b938 by Jorg Brown <jorg@google.com>: Tweaks for better AArch64 support under MSVC PiperOrigin-RevId: 348518028 -- 48cb64ed90c71db6342dcf478a03bbb419b98500 by Christian Blichmann <cblichmann@google.com>: Internal change PiperOrigin-RevId: 348480642 GitOrigin-RevId: be02479c8f5ddf18f0d711e86648a2a0a9823fb6 Change-Id: I3614bf846ad1b99e34f507346da1252c6bbc13ba
* Export of internal Abseil changesGravatar Abseil Team2020-12-21
| | | | | | | | | | | | | | | | | | | | | -- b95862447354428f62ae1627cf526e42ca0b7a9d by Christian Blichmann <cblichmann@google.com>: Minor cleanups: * Sorting using declarations * Changing the format of a NOLINT statement PiperOrigin-RevId: 348448885 -- 954a4375fb09267e55dfda345605b9aca54998b0 by Abseil Team <absl-team@google.com>: Enable some more Emscripten tests. Requires setting -s PRINTF_LONG_DOUBLE=1 in a recent build. PiperOrigin-RevId: 348043610 GitOrigin-RevId: b95862447354428f62ae1627cf526e42ca0b7a9d Change-Id: I517c94a5fd0feb9b99823dc8552d28fa598723fe
* Add missing word 'library' in the 'status' description (#868)Gravatar Igor Poletaev2020-12-21
|
* Export of internal Abseil changesGravatar Abseil Team2020-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- dab5caab05d89d03066ef92584660688595a3aaf by Mark Barolak <mbar@google.com>: Add absl::Status and absl::StatusOr to absl/README.md Import of https://github.com/abseil/abseil-cpp/pull/863 PiperOrigin-RevId: 347857368 -- 1ca3c7a96417cd6e6d62f4dc36fd5ddaa61cfa20 by Chris Kennelly <ckennelly@google.com>: Leverage integer power-of-2 functions and bit counting library in Abseil. PiperOrigin-RevId: 347816486 -- e5cbe05879fd65dce7875e2e0105331a1615d89b by Chris Kennelly <ckennelly@google.com>: Mitigate narrowing warning on MSVC. If sizeof(x) <= sizeof(uint32_t), no truncation occurs when casting to uint32_t, but the compiler cannot always determine this. PiperOrigin-RevId: 347696526 -- 079dff64cb175d282d9e22dfb4a522199ffdae2e by Benjamin Barenblat <bbaren@google.com>: Avoid libgcc -NaN narrowing bug When testing -NaN parsing, avoid narrowing -NaN from double to float. This avoids a bug in libgcc (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98251). PiperOrigin-RevId: 347654751 -- 2e78a7634865aeef6765e1f447e96cf8d9985059 by Chris Kennelly <ckennelly@google.com>: Mark popcount helpers as inline. These are conditionally constexpr, so we need to add inline to cover the non-constexpr builds to avoid ODR violations. PiperOrigin-RevId: 347620138 -- 437fbb363aea1654179f102dcdd607ec33c1af1e by Chris Kennelly <ckennelly@google.com>: Use explicit narrowing cast. This is never invoked in practice, but compilers with -Wimplicit-int-conversion may trigger when sizeof(T) > sizeof(uint16_t) prior to determining this never runs. PiperOrigin-RevId: 347609857 GitOrigin-RevId: dab5caab05d89d03066ef92584660688595a3aaf Change-Id: I6296ddffe7ec646f8ce121138f21e1e85a2cff4b
* Include the status library into the main README. (#863)Gravatar Igor Poletaev2020-12-16
| | | It is a bit confusing that it is not listed here although already publically released.
* Export of internal Abseil changesGravatar Abseil Team2019-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | -- f51743aa96e19aa3dda96d09d313b4390f1d61e7 by CJ Johnson <johnsoncj@google.com>: Minor touchup on the InlinedVector/Storage internal header file PiperOrigin-RevId: 262389640 -- e2f54c1f7142e40d30ff0fda43bef050625821a5 by Abseil Team <absl-team@google.com>: Update the absl codebase to use proper marketing names for macOS and Xcode PiperOrigin-RevId: 262389450 -- f29aae774edd0d00e2daa1fb96694a6dc3565a55 by CJ Johnson <johnsoncj@google.com>: Blocks code generator script from being affected by LTS inline namespaces PiperOrigin-RevId: 262376791 GitOrigin-RevId: f51743aa96e19aa3dda96d09d313b4390f1d61e7 Change-Id: I33be7f5a708ce8a2b7111b00151e43d73c5e0009
* Changed HTTP URLs to HTTPS where possible (#270)Gravatar nik72732019-03-08
|
* Export of internal Abseil changes.Gravatar Abseil Team2018-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- 4e043a11b4c10a24e84046827ee16f47e11e35cc by Abseil Team <absl-team@google.com>: Merge of https://github.com/abseil/abseil-cpp/pull/136 PiperOrigin-RevId: 218197648 -- e61f06e1e601061a443feaa8c5207c52437bd641 by Abseil Team <absl-team@google.com>: Don't include <iostream> into int128, it's wasteful Including iostream emits a global constructor for initializing std::cout and friends, which isn't actually used by this file. PiperOrigin-RevId: 218156386 -- 8a6c82396e4c956be7f285328aec131cb4965f16 by Xiaoyi Zhang <zhangxy@google.com>: Fix MSVC compiler warnings on discarding return values of functions with 'nodiscard' attribute. PiperOrigin-RevId: 217883401 -- abf3e3a0f22bc4070df9dbc9a4ef4d883ed686bf by Tom Manshreck <shreck@google.com>: Update public README to add new libraries PiperOrigin-RevId: 217879399 -- 43b3b420a4e861711abbfbd497b8f2b3de17ec8c by Abseil Team <absl-team@google.com>: Import of CCTZ from GitHub. PiperOrigin-RevId: 217780963 -- 1c8831947ca6a65a63842e6bd5f37a7c102a4e1b by Abseil Team <absl-team@google.com>: Fix typo in a comment (missing comma in usage example). PiperOrigin-RevId: 217776645 GitOrigin-RevId: 4e043a11b4c10a24e84046827ee16f47e11e35cc Change-Id: I8999ae928da7a0030b4ecfd8d13da8522fdd013a
* - edb38790ce245c95715e5c50dfafb0db79d2cdc4 Add quickstart and build ↵Gravatar Abseil Team2018-04-10
| | | | | | | | | sections to readme. by Alex Strelnikov <strel@google.com> - 508b3da428bc79cab730aa57109b352a58820573 Fix accidentally qualifying std int types with absl:: in ... by Alex Strelnikov <strel@google.com> GitOrigin-RevId: edb38790ce245c95715e5c50dfafb0db79d2cdc4 Change-Id: Idf72547f30c72fbb4153d5eae6b59b499ec42955
* Fix README link to CMake READMEGravatar Pavel Krajcevski2017-11-08
|
* Changes imported from Abseil "staging" branch:Gravatar Abseil Team2017-11-06
| | | | | | | | | | | - c3a608de577e0c278b50916ad4803549929f8f72 Merging https://github.com/abseil/abseil-cpp/pull/8/ inte... by Gennadiy Civil <misterg@google.com> - d0b528cdf5843db871784c629cb4e7c5165af716 explicitly cast -1 for Span::npos by Jon Cohen <cohenjon@google.com> - 32066311a4379f1144f029aaa3740af59b1e364e Remove GUARDED_VAR and PT_GUARDED_VAR entirely. by Abseil Team <absl-team@google.com> - 3d3c69d97d15b5c6457906631054109094c083a6 Remove unneeded inline on constexpr definitions. by Alex Strelnikov <strel@google.com> - a9a8fe71f90d0b80de8e77375228a7185032636b Remove unneeded lint suppression. by Alex Strelnikov <strel@google.com> GitOrigin-RevId: c3a608de577e0c278b50916ad4803549929f8f72 Change-Id: I0897ce0b11e41f83fed8d88f18e079a15d086527
* Merge branch 'master' into masterGravatar Gennadiy Civil2017-10-30
|\
* | CMake supportGravatar Adrien Devresse2017-10-27
| | | | | | | | | | | | | | | | | | | | | | | | - initial cmake support - downgrade cmake requirement to 2.8.12 - factorize cmake test flags / libs options - refactor test / library under helpers functions, follow bazel's style - Add fix for MSVC and Windows support ( thx @patrikfors ) - Switch to default "add_subdirectory()" usage mode - add CMake/README.md for instructions - add header-only cmake target generator - map absl target to absl:: namespace
| * Changes imported from Abseil "staging" branch:Gravatar Abseil Team2017-10-27
|/ | | | | | | | - 5b675ef65e4977b3ac778a75a21e99db1ebe78e7 Remove "not an official google project" disclaimer. by Abseil Team <absl-team@google.com> - 77d2aacc03efe6841612b38bcbb745dde1ad7d3e Avoid weak virtual table warnings (-Wweak-vtables) and re... by Abseil Team <absl-team@google.com> GitOrigin-RevId: 5b675ef65e4977b3ac778a75a21e99db1ebe78e7 Change-Id: Ia0d1d6e39169c7ad9783d25dc92dad041de3a966
* Changes imported from Abseil "staging" branch:Gravatar Abseil Team2017-10-05
| | | | | | | | | | | | - d5a5960a133967e4af02836d304884cd6cbd6e46 Adjusting time tests for flakiness by Gennadiy Civil <misterg@google.com> - ccb8535fdc92c3c99bfa2795e75d3fbdcb134571 Internal-only tweak. by Jorg Brown <jorg@google.com> - 4c03dd9e54bd4645e7e7a8dfb3c590f5b0654884 Fix comment on some C++11 type traits backport. by Xiaoyi Zhang <zhangxy@google.com> - 43cd12d2304464163e33ae932fbb842a869213dd Allow intrinsic int128 to be set for __ppc64__ targets. by Abseil Team <absl-team@google.com> - 789e9c13de67ef3c7ba09c765c3484621897b6bb Update README.md description of 'types' library to be con... by Abseil Team <absl-team@google.com> - 8be10d7683c90b85244ddc67360a7ca2dfffdf01 Update comment on move constructors' noexcept specificati... by Xiaoyi Zhang <zhangxy@google.com> GitOrigin-RevId: d5a5960a133967e4af02836d304884cd6cbd6e46 Change-Id: I743efee47b9e65f46a44d9ab80ccd62cfd0c1301
* Changes imported from Abseil "staging" branch:Gravatar Abseil Team2017-09-25
| | | | | | | | | | | | - 76fcc6eebc6a5b5a885f04e1579762573c2bf9bc Fix broken links, and remove old README files from Git. by Daniel Katz <katzdm@google.com> - 174287df7bc7c1832fe4a66d82ee0f61a8788460 Remove "test_dependencies.bzl" file. Not needed. by Daniel Katz <katzdm@google.com> - 4e9416b389e61f5258c3a7fc0f7966f03d9ae086 Fix broken about/intro link in README.md by Abseil Team <absl-team@google.com> - 2a662ff187987246cf8f3c1de83eaa23f1d2c034 Delete extraneous comments. by Abseil Team <absl-team@google.com> - 3bdc2d15af21e0297ccf39c90c0ed51a35900679 Cleanup usage of GUNIT_DEPS_SELECTOR/GUNIT_MAIN_DEPS_SELE... by Gennadiy Rozental <rogeeff@google.com> - bec32fc8efee3ae5b67c07dcae08d74540c944d0 Enable time_test on windows: by Xiaoyi Zhang <zhangxy@google.com> GitOrigin-RevId: 76fcc6eebc6a5b5a885f04e1579762573c2bf9bc Change-Id: I9556164f6b48dae1fa02b2ec6444517faed23e1f
* Initial CommitGravatar misterg2017-09-19