1. 12 Mar, 2024 7 commits
  2. 11 Mar, 2024 3 commits
  3. 07 Mar, 2024 2 commits
  4. 06 Mar, 2024 4 commits
  5. 04 Mar, 2024 3 commits
  6. 03 Mar, 2024 1 commit
  7. 29 Feb, 2024 2 commits
  8. 28 Feb, 2024 4 commits
  9. 27 Feb, 2024 4 commits
    • Make DLOG(FATAL) not understood as [[noreturn]] · c0bec1a7
      Having DLOG(FATAL) be [[noreturn]] in debug builds makes dead-code
      warnings impossible to satisfy between the release and debug build.
      
      PiperOrigin-RevId: 610851706
      Change-Id: I07104d6687e2b1a8472ee3ea876d5fd74a70574e
      Abseil Team committed
    • Optimize `absl::Duration` division and modulo: Avoid repeated redundant… · 9bbbbd3b
      Optimize `absl::Duration` division and modulo: Avoid repeated redundant comparisons in `IDivFastPath`.
      
      PiperOrigin-RevId: 610758911
      Change-Id: I3d0fa2f52a3bd75bdd2b5c365d79878b4160bd29
      Abseil Team committed
    • Optimize `absl::Duration` division and modulo: Allow the compiler to inline… · bde089f9
      Optimize `absl::Duration` division and modulo: Allow the compiler to inline `time_internal::IDivDuration`, by splitting the slow path to a separate function.
      
      With that change, the compiler can inline the fast path. This is specially important in the context of `Duration::operator%=`, because it allows proving that the return value is unused, therefore avoiding expensive multiplies and divides (e.g. `*q = num_hi / den_hi;`).
      
      ```
      name                         old cpu/op   new cpu/op   delta
      BM_Duration_Modulo           23.1ns ± 0%  22.5ns ± 0%   -2.42%  (p=0.000 n=20+16)
      BM_Duration_Modulo_FastPath  7.05ns ± 0%  4.85ns ± 0%  -31.17%  (p=0.000 n=20+20)
      
      name                         old time/op          new time/op          delta
      BM_Duration_Modulo           23.1ns ± 0%          22.6ns ± 0%   -2.43%  (p=0.000 n=20+16)
      BM_Duration_Modulo_FastPath  7.06ns ± 0%          4.86ns ± 0%  -31.18%  (p=0.000 n=20+20)
      
      name                         old INSTRUCTIONS/op  new INSTRUCTIONS/op  delta
      BM_Duration_Modulo              188 ± 0%             178 ± 0%   -5.32%  (p=0.000 n=20+20)
      BM_Duration_Modulo_FastPath    84.0 ± 0%            62.0 ± 0%  -26.19%  (p=0.000 n=20+20)
      
      name                         old CYCLES/op        new CYCLES/op        delta
      BM_Duration_Modulo             73.8 ± 0%            72.1 ± 0%   -2.27%  (p=0.000 n=19+20)
      BM_Duration_Modulo_FastPath    22.5 ± 0%            15.5 ± 0%  -31.13%  (p=0.000 n=19+20)
      ```
      
      Note: We don't need to expose `absl::time_internal::IDivDuration` at all given that we have a public `absl::IDivDuration`.
      PiperOrigin-RevId: 610710635
      Change-Id: Ief7c3d5b1c000b397d931e9249edcaef96e7151e
      Abseil Team committed
    • Fix typo in example code snippet. · 90ebb6fc
      PiperOrigin-RevId: 610672905
      Change-Id: I8e4ae98bb6e6421540a3073e3e6cb7de60fd32a9
      Abseil Team committed
  10. 26 Feb, 2024 1 commit
  11. 23 Feb, 2024 2 commits
  12. 22 Feb, 2024 2 commits
  13. 21 Feb, 2024 4 commits
  14. 20 Feb, 2024 1 commit