1. 10 Jul, 2024 1 commit
  2. 09 Jul, 2024 1 commit
  3. 07 Jul, 2024 1 commit
  4. 04 Jul, 2024 1 commit
  5. 03 Jul, 2024 2 commits
  6. 02 Jul, 2024 2 commits
  7. 01 Jul, 2024 6 commits
  8. 27 Jun, 2024 5 commits
  9. 26 Jun, 2024 4 commits
  10. 25 Jun, 2024 1 commit
  11. 24 Jun, 2024 5 commits
  12. 22 Jun, 2024 2 commits
  13. 21 Jun, 2024 2 commits
  14. 20 Jun, 2024 3 commits
    • Create `absl::container_internal::c_for_each_fast` for SwissTable. · 10ac811f
      This function is aimed to achieve faster iteration through the entire hash table.
      It is not ready to be used by the public and stays in `container_internal` namespace.
      
      Differences with `absl::c_for_each`:
      1. No guarantees on order of iteration. Although for the hash table it is partially not guaranteed already. But we do not even guarantee that it is the same order as in the for loop range. De facto, the order is the same at the moment.
      2. No mutating reentrance is allowed. Most notably erasing from the hash_table is not allowed.
      
      Based on microbenchmarks, there are following conclusions:
      1. c_for_each_fast is clearly faster on big tables with 20-60% speedup.
      2. Microbenchmarks show regression on a full small table without any empty slots.
         We should avoid recommending that for small tables.
      3. It seems reasonable to use `c_for_each_fast` in places, where `skip_empty_or_deleted` has significant GCU usage. `skip_empty_or_deleted` usage signals that there are "gaps" between elements, so `c_for_each_fast` should be an improvement.
      
      PiperOrigin-RevId: 645142512
      Change-Id: I279886b8c8b2545504c2bf7e037d27b2545e044d
      Vitaly Goldshteyn committed
    • Disable flaky test cases in kernel_timeout_internal_test. · 93763764
      PiperOrigin-RevId: 645054874
      Change-Id: Ic4a820b47edfa71bd3e1f149d54f00ac3c1d16a6
      Evan Brown committed
    • Document that swisstable and b-tree containers are not exception-safe. · e1814101
      For performance reasons, these containers are optimized for the case in which allocations/deallocations/comparisons/hashers can't throw exceptions.
      
      PiperOrigin-RevId: 645054627
      Change-Id: I99be651b26f5bbb87da6ef246b92b20a375224d7
      Evan Brown committed
  15. 18 Jun, 2024 1 commit
    • Add `ABSL_NULLABILITY_COMPATIBLE` attribute. · 69195d5b
      This is a replacement for the `absl_nullability_compatible` tag. The attribute
      has the advantage that, unlike the tag, it can be applied to forward
      declarations.
      
      This does not yet change the implementation of the nullability annotations --
      that will come in a followup patch.
      
      As the nullability annotations themselves have not been changed, the
      `absl_nullability_compatible` tag is currently still used to check whether the
      annotations can be applied to a given type; see also the comments in the code.
      
      PiperOrigin-RevId: 644238698
      Change-Id: I5882606f82ce7a6dd98e83e6d920573437561b50
      Martin Brænne committed
  16. 17 Jun, 2024 2 commits
  17. 14 Jun, 2024 1 commit