summaryrefslogtreecommitdiff
path: root/absl/time/duration_test.cc
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2023-02-02 03:05:07 -0800
committerGravatar Copybara-Service <copybara-worker@google.com>2023-02-02 03:05:54 -0800
commit7005fede1e309d0a6070be3008b365112492aa80 (patch)
tree99968e37829bea518b344d13e286bd54508aa656 /absl/time/duration_test.cc
parent9858e5421b14c9d72f2103af10010c5452c6d55f (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.cc10
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