1. 17 Jan, 2024 1 commit
  2. 16 Jan, 2024 1 commit
  3. 13 Jan, 2024 1 commit
  4. 12 Jan, 2024 1 commit
  5. 11 Jan, 2024 3 commits
  6. 10 Jan, 2024 3 commits
  7. 09 Jan, 2024 1 commit
  8. 05 Jan, 2024 1 commit
  9. 04 Jan, 2024 2 commits
    • Optimize integer-to-string conversions · d5a2cec0
      The updated code is designed to:
      - Be branch-predictor-friendly
      - Be cache-friendly
      - Minimize the lengths of critical paths
      - Minimize slow operations (particularly multiplications)
      - Minimize binary/codegen bloat
      
      The most notable performance trick here is perhaps the precomputation & caching of the number of digits, so that we can reuse/exploit it when writing the output.
      
      This precomputation of the exact length enables 2 further performance benefits:
      - It makes `StrCat` and `StrAppend` zero-copy when only integers are passed, by avoiding intermediate `AlphaNum` entirely in those cases. If needed in the future, we can probably also make many other mixtures of non-integer types zero-copy as well.
      - It avoids over-reservation of the string buffer, allowing for more strings to fit inside SSO, which will likely have further performance benefits.
      
      There is also a side benefit of preventing `FastIntToBuffer` from writing beyond the end of the buffer, which has caused buffer overflows in the past.
      
      The new code continues to use & extend some of the existing core tricks (such as the division-by-100 trick), as those are already efficient.
      
      PiperOrigin-RevId: 595785531
      Change-Id: Id6920e7e038fec10b2c45f213de75dc7e2cbddd1
      Abseil Team committed
    • Correct nullability annotations on MakeNan · ccf0c773
      Neither GCC nor Clang's __builtin_nan(), nor glibc's nan(), accept null pointers.
      
      PiperOrigin-RevId: 595767225
      Change-Id: I4cddd1cafd0c9e83a823ec68386f10ce077c6b4c
      Abseil Team committed
  10. 03 Jan, 2024 2 commits
  11. 02 Jan, 2024 3 commits
  12. 28 Dec, 2023 2 commits
  13. 27 Dec, 2023 2 commits
  14. 26 Dec, 2023 2 commits
  15. 21 Dec, 2023 2 commits
  16. 20 Dec, 2023 6 commits
  17. 19 Dec, 2023 5 commits
  18. 18 Dec, 2023 2 commits