diff options
author | Abseil Team <absl-team@google.com> | 2023-02-02 03:05:07 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2023-02-02 03:05:54 -0800 |
commit | 7005fede1e309d0a6070be3008b365112492aa80 (patch) | |
tree | 99968e37829bea518b344d13e286bd54508aa656 /absl/time/duration_test.cc | |
parent | 9858e5421b14c9d72f2103af10010c5452c6d55f (diff) |
Get rid of tail padding within `absl::Duration`. This reduces memory usage needs when storing duration in containers (e.g. `vector<absl::Duration>` uses 25% less memory), and allows classes with `absl::Duration` fields to fit other stuff in memory previously used by tail padding (e.g. `std::optional<absl::Duration>` is now 16 bytes instead of 24).
PiperOrigin-RevId: 506568782
Change-Id: Ic9e077f02a80da013fb2d312aff77761b970c07a
Diffstat (limited to 'absl/time/duration_test.cc')
-rw-r--r-- | absl/time/duration_test.cc | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/absl/time/duration_test.cc b/absl/time/duration_test.cc index 84224f47..b7abf4ba 100644 --- a/absl/time/duration_test.cc +++ b/absl/time/duration_test.cc @@ -16,9 +16,8 @@ #include <winsock2.h> // for timeval #endif -#include <array> -#include <cfloat> #include <chrono> // NOLINT(build/c++11) +#include <cfloat> #include <cmath> #include <cstdint> #include <ctime> @@ -1854,11 +1853,4 @@ TEST(Duration, FormatParseRoundTrip) { #undef TEST_PARSE_ROUNDTRIP } -TEST(Duration, NoPadding) { - // Should match the size of a struct with uint32_t alignment and no padding. - using NoPadding = std::array<uint32_t, 3>; - EXPECT_EQ(sizeof(NoPadding), sizeof(absl::Duration)); - EXPECT_EQ(alignof(NoPadding), alignof(absl::Duration)); -} - } // namespace |