From c407f5e0bdd95c099f2d2dec143a03e58fa0e8dd Mon Sep 17 00:00:00 2001 From: dentiny Date: Fri, 8 Nov 2024 03:09:15 +0000 Subject: [PATCH 01/10] size literals Signed-off-by: dentiny --- src/ray/util/BUILD | 6 ++ src/ray/util/size_literals.h | 99 ++++++++++++++++++++++++ src/ray/util/tests/BUILD | 12 +++ src/ray/util/tests/size_literals_test.cc | 12 +++ 4 files changed, 129 insertions(+) create mode 100644 src/ray/util/size_literals.h create mode 100644 src/ray/util/tests/size_literals_test.cc diff --git a/src/ray/util/BUILD b/src/ray/util/BUILD index 113502257a19..23d9f1e90150 100644 --- a/src/ray/util/BUILD +++ b/src/ray/util/BUILD @@ -43,6 +43,12 @@ cc_library( ], ) +cc_library( + name = "size_literals", + hdrs = ["size_literals.h"], + visibility = ["//visibility:public"], +) + cc_library( name = "thread_checker", hdrs = ["thread_checker.h"], diff --git a/src/ray/util/size_literals.h b/src/ray/util/size_literals.h new file mode 100644 index 000000000000..d184f17db93c --- /dev/null +++ b/src/ray/util/size_literals.h @@ -0,0 +1,99 @@ +// Copyright 2024 The Ray Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// These user-defined literals makes sizes. + +#pragma once + +#include + +constexpr unsigned long long operator""_PiB(unsigned long long sz) { + return sz * 1024ULL * 1024ULL * 1024ULL * 1024ULL * 1024ULL; +} +constexpr unsigned long long operator""_PB(unsigned long long sz) { + return sz * 1000ULL * 1000ULL * 1000ULL * 1000ULL * 1000ULL; +} + +constexpr unsigned long long operator""_TiB(unsigned long long sz) { + return sz * 1024ULL * 1024ULL * 1024ULL * 1024ULL; +} +constexpr unsigned long long operator""_TB(unsigned long long sz) { + return sz * 1000ULL * 1000ULL * 1000ULL * 1000ULL; +} + +constexpr unsigned long long operator""_GiB(unsigned long long sz) { + return sz * 1024ULL * 1024ULL * 1024ULL; +} +constexpr unsigned long long operator""_GB(unsigned long long sz) { + return sz * 1000ULL * 1000ULL * 1000ULL; +} + +constexpr unsigned long long operator""_MiB(unsigned long long sz) { + return sz * 1024ULL * 1024ULL; +} +constexpr unsigned long long operator""_MB(unsigned long long sz) { + return sz * 1000ULL * 1000ULL; +} + +constexpr unsigned long long operator""_KiB(unsigned long long sz) { + return sz * 1024ULL; +} +constexpr unsigned long long operator""_KB(unsigned long long sz) { return sz * 1000ULL; } + +constexpr unsigned long long operator""_PiB(long double sz) { + const long double res = sz * 1024ULL * 1024ULL * 1024ULL * 1024ULL * 1024ULL; + return static_cast(res); +} +constexpr unsigned long long operator""_PB(long double sz) { + const long double res = sz * 1000ULL * 1000ULL * 1000ULL * 1000ULL * 1000ULL; + return static_cast(res); +} + +constexpr unsigned long long operator""_TiB(long double sz) { + const long double res = sz * 1024ULL * 1024ULL * 1024ULL * 1024ULL; + return static_cast(res); +} +constexpr unsigned long long operator""_TB(long double sz) { + const long double res = sz * 1000ULL * 1000ULL * 1000ULL * 1000ULL; + return static_cast(res); +} + +constexpr unsigned long long operator""_GiB(long double sz) { + const long double res = sz * 1024ULL * 1024ULL * 1024ULL; + return static_cast(res); +} +constexpr unsigned long long operator""_GB(long double sz) { + const long double res = sz * 1000ULL * 1000ULL * 1000ULL; + return static_cast(res); +} + +constexpr unsigned long long operator""_MiB(long double sz) { + const long double res = sz * 1024ULL * 1024ULL; + return static_cast(res); +} +constexpr unsigned long long operator""_MB(long double sz) { + const long double res = sz * 1000ULL * 1000ULL; + return static_cast(res); +} + +constexpr unsigned long long operator""_KiB(long double sz) { + const long double res = sz * 1024ULL; + return static_cast(res); +} +constexpr unsigned long long operator""_KB(long double sz) { + const long double res = sz * 1000ULL; + return static_cast(res); +} + +constexpr unsigned long long operator""_B(unsigned long long sz) { return sz; } diff --git a/src/ray/util/tests/BUILD b/src/ray/util/tests/BUILD index 096b090f1854..2941d105cf91 100644 --- a/src/ray/util/tests/BUILD +++ b/src/ray/util/tests/BUILD @@ -182,3 +182,15 @@ cc_test( "//src/ray/protobuf:gcs_cc_proto", ], ) + +cc_test( + name = "size_literals_test", + srcs = ["size_literals_test.cc"], + size = "small", + copts = COPTS, + tags = ["team:core"], + deps = [ + "//src/ray/util:size_literals", + "@com_google_googletest//:gtest_main", + ], +) diff --git a/src/ray/util/tests/size_literals_test.cc b/src/ray/util/tests/size_literals_test.cc new file mode 100644 index 000000000000..eba227a93261 --- /dev/null +++ b/src/ray/util/tests/size_literals_test.cc @@ -0,0 +1,12 @@ +#include "src/ray/util/size_literals.h" + +#include + +namespace { + +TEST(SizeLiteralsTest, BasicTest) { + EXPECT_EQ(2_MiB, 2 * 1024 * 1024); + EXPECT_EQ(2.5_KB, 2500); +} + +} // namespace From f509cdb4e872f4f8b129eba7d090ddd23632685f Mon Sep 17 00:00:00 2001 From: dentiny Date: Fri, 8 Nov 2024 03:11:22 +0000 Subject: [PATCH 02/10] copyright Signed-off-by: dentiny --- src/ray/util/tests/size_literals_test.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/ray/util/tests/size_literals_test.cc b/src/ray/util/tests/size_literals_test.cc index eba227a93261..6eeeb49a8738 100644 --- a/src/ray/util/tests/size_literals_test.cc +++ b/src/ray/util/tests/size_literals_test.cc @@ -1,3 +1,17 @@ +// Copyright 2024 The Ray Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + #include "src/ray/util/size_literals.h" #include From 413827cf04220114d0cda25bff862fb0fc31e707 Mon Sep 17 00:00:00 2001 From: dentiny Date: Fri, 8 Nov 2024 04:59:44 +0000 Subject: [PATCH 03/10] refactor a little Signed-off-by: dentiny --- src/ray/util/size_literals.h | 76 +++++++++++------------- src/ray/util/tests/size_literals_test.cc | 5 +- 2 files changed, 37 insertions(+), 44 deletions(-) diff --git a/src/ray/util/size_literals.h b/src/ray/util/size_literals.h index d184f17db93c..3f258296a3df 100644 --- a/src/ray/util/size_literals.h +++ b/src/ray/util/size_literals.h @@ -18,82 +18,74 @@ #include -constexpr unsigned long long operator""_PiB(unsigned long long sz) { - return sz * 1024ULL * 1024ULL * 1024ULL * 1024ULL * 1024ULL; -} -constexpr unsigned long long operator""_PB(unsigned long long sz) { - return sz * 1000ULL * 1000ULL * 1000ULL * 1000ULL * 1000ULL; -} +constexpr unsigned long long operator""_B(unsigned long long sz) { return sz; } -constexpr unsigned long long operator""_TiB(unsigned long long sz) { - return sz * 1024ULL * 1024ULL * 1024ULL * 1024ULL; +constexpr unsigned long long operator""_KiB(unsigned long long sz) { + return sz * 1024ULL; } -constexpr unsigned long long operator""_TB(unsigned long long sz) { - return sz * 1000ULL * 1000ULL * 1000ULL * 1000ULL; +constexpr unsigned long long operator""_KB(unsigned long long sz) { return sz * 1000ULL; } + +constexpr unsigned long long operator""_MiB(unsigned long long sz) { + return sz * 1024_KiB; } +constexpr unsigned long long operator""_MB(unsigned long long sz) { return sz * 1000_KB; } constexpr unsigned long long operator""_GiB(unsigned long long sz) { - return sz * 1024ULL * 1024ULL * 1024ULL; -} -constexpr unsigned long long operator""_GB(unsigned long long sz) { - return sz * 1000ULL * 1000ULL * 1000ULL; + return sz * 1024_MiB; } +constexpr unsigned long long operator""_GB(unsigned long long sz) { return sz * 1000_MB; } -constexpr unsigned long long operator""_MiB(unsigned long long sz) { - return sz * 1024ULL * 1024ULL; -} -constexpr unsigned long long operator""_MB(unsigned long long sz) { - return sz * 1000ULL * 1000ULL; +constexpr unsigned long long operator""_TiB(unsigned long long sz) { + return sz * 1024_GiB; } +constexpr unsigned long long operator""_TB(unsigned long long sz) { return sz * 1000_GB; } -constexpr unsigned long long operator""_KiB(unsigned long long sz) { - return sz * 1024ULL; +constexpr unsigned long long operator""_PiB(unsigned long long sz) { + return sz * 1024_TiB; } -constexpr unsigned long long operator""_KB(unsigned long long sz) { return sz * 1000ULL; } +constexpr unsigned long long operator""_PB(unsigned long long sz) { return sz * 1000_TB; } -constexpr unsigned long long operator""_PiB(long double sz) { - const long double res = sz * 1024ULL * 1024ULL * 1024ULL * 1024ULL * 1024ULL; +constexpr unsigned long long operator""_KiB(long double sz) { + const long double res = sz * 1024ULL; return static_cast(res); } -constexpr unsigned long long operator""_PB(long double sz) { - const long double res = sz * 1000ULL * 1000ULL * 1000ULL * 1000ULL * 1000ULL; +constexpr unsigned long long operator""_KB(long double sz) { + const long double res = sz * 1000ULL; return static_cast(res); } -constexpr unsigned long long operator""_TiB(long double sz) { - const long double res = sz * 1024ULL * 1024ULL * 1024ULL * 1024ULL; +constexpr unsigned long long operator""_MiB(long double sz) { + const long double res = sz * 1024_KiB; return static_cast(res); } -constexpr unsigned long long operator""_TB(long double sz) { - const long double res = sz * 1000ULL * 1000ULL * 1000ULL * 1000ULL; +constexpr unsigned long long operator""_MB(long double sz) { + const long double res = sz * 1000_KB; return static_cast(res); } constexpr unsigned long long operator""_GiB(long double sz) { - const long double res = sz * 1024ULL * 1024ULL * 1024ULL; + const long double res = sz * 1024_MiB; return static_cast(res); } constexpr unsigned long long operator""_GB(long double sz) { - const long double res = sz * 1000ULL * 1000ULL * 1000ULL; + const long double res = sz * 1000_MB; return static_cast(res); } -constexpr unsigned long long operator""_MiB(long double sz) { - const long double res = sz * 1024ULL * 1024ULL; +constexpr unsigned long long operator""_TiB(long double sz) { + const long double res = sz * 1024_GiB; return static_cast(res); } -constexpr unsigned long long operator""_MB(long double sz) { - const long double res = sz * 1000ULL * 1000ULL; +constexpr unsigned long long operator""_TB(long double sz) { + const long double res = sz * 1000_GB; return static_cast(res); } -constexpr unsigned long long operator""_KiB(long double sz) { - const long double res = sz * 1024ULL; +constexpr unsigned long long operator""_PiB(long double sz) { + const long double res = sz * 1024_TiB; return static_cast(res); } -constexpr unsigned long long operator""_KB(long double sz) { - const long double res = sz * 1000ULL; +constexpr unsigned long long operator""_PB(long double sz) { + const long double res = sz * 1000_TB; return static_cast(res); } - -constexpr unsigned long long operator""_B(unsigned long long sz) { return sz; } diff --git a/src/ray/util/tests/size_literals_test.cc b/src/ray/util/tests/size_literals_test.cc index 6eeeb49a8738..613bca50baff 100644 --- a/src/ray/util/tests/size_literals_test.cc +++ b/src/ray/util/tests/size_literals_test.cc @@ -19,8 +19,9 @@ namespace { TEST(SizeLiteralsTest, BasicTest) { - EXPECT_EQ(2_MiB, 2 * 1024 * 1024); - EXPECT_EQ(2.5_KB, 2500); + static_assert(2_MiB == 2 * 1024 * 1024); + static_assert(2.5_KB == 2500); + static_assert(4_GB == 4'000'000'000); } } // namespace From affa8c7846ef9c1016816f9d114f422637da2202 Mon Sep 17 00:00:00 2001 From: dentiny Date: Fri, 8 Nov 2024 05:06:28 +0000 Subject: [PATCH 04/10] add usage Signed-off-by: dentiny --- BUILD.bazel | 1 + src/ray/stats/metric_defs.cc | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index bcace50105a6..03c002fc1256 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -620,6 +620,7 @@ ray_cc_library( deps = [ ":reporter_rpc", ":stats_metric", + "//src/ray/util:size_literals", "@com_github_grpc_grpc//:grpc_opencensus_plugin", ], ) diff --git a/src/ray/stats/metric_defs.cc b/src/ray/stats/metric_defs.cc index 18916a19ab89..34d16946fef3 100644 --- a/src/ray/stats/metric_defs.cc +++ b/src/ray/stats/metric_defs.cc @@ -14,6 +14,8 @@ #include "ray/stats/metric_defs.h" +#include "ray/util/size_literals.h" + namespace ray { namespace stats { @@ -114,9 +116,7 @@ DEFINE_stats( (), ray::stats::GAUGE); -double operator""_MB(unsigned long long int x) { - return static_cast(1024L * 1024L * x); -} +double operator""_MB(unsigned long long int x) { return static_cast(x * 1_MiB); } DEFINE_stats(object_store_dist, "The distribution of object size in bytes", From 3b8640de929d1689e4bc3b00e9babd87424afe5e Mon Sep 17 00:00:00 2001 From: dentiny Date: Fri, 8 Nov 2024 07:55:53 +0000 Subject: [PATCH 05/10] 1000B and 1024B Signed-off-by: dentiny --- src/ray/util/size_literals.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ray/util/size_literals.h b/src/ray/util/size_literals.h index 3f258296a3df..ae5b10a9eee8 100644 --- a/src/ray/util/size_literals.h +++ b/src/ray/util/size_literals.h @@ -21,9 +21,9 @@ constexpr unsigned long long operator""_B(unsigned long long sz) { return sz; } constexpr unsigned long long operator""_KiB(unsigned long long sz) { - return sz * 1024ULL; + return sz * 1024_B; } -constexpr unsigned long long operator""_KB(unsigned long long sz) { return sz * 1000ULL; } +constexpr unsigned long long operator""_KB(unsigned long long sz) { return sz * 1000_B; } constexpr unsigned long long operator""_MiB(unsigned long long sz) { return sz * 1024_KiB; From 0ecf77e2acdfeafdbf0dd03641b248c386a45151 Mon Sep 17 00:00:00 2001 From: dentiny Date: Fri, 8 Nov 2024 08:09:47 +0000 Subject: [PATCH 06/10] remove unnecessary size literals Signed-off-by: dentiny --- src/ray/stats/metric_defs.cc | 2 -- src/ray/util/size_literals.h | 4 +--- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/ray/stats/metric_defs.cc b/src/ray/stats/metric_defs.cc index 34d16946fef3..42e93a6485ae 100644 --- a/src/ray/stats/metric_defs.cc +++ b/src/ray/stats/metric_defs.cc @@ -116,8 +116,6 @@ DEFINE_stats( (), ray::stats::GAUGE); -double operator""_MB(unsigned long long int x) { return static_cast(x * 1_MiB); } - DEFINE_stats(object_store_dist, "The distribution of object size in bytes", ("Source"), diff --git a/src/ray/util/size_literals.h b/src/ray/util/size_literals.h index ae5b10a9eee8..0ada840bcdef 100644 --- a/src/ray/util/size_literals.h +++ b/src/ray/util/size_literals.h @@ -20,9 +20,7 @@ constexpr unsigned long long operator""_B(unsigned long long sz) { return sz; } -constexpr unsigned long long operator""_KiB(unsigned long long sz) { - return sz * 1024_B; -} +constexpr unsigned long long operator""_KiB(unsigned long long sz) { return sz * 1024_B; } constexpr unsigned long long operator""_KB(unsigned long long sz) { return sz * 1000_B; } constexpr unsigned long long operator""_MiB(unsigned long long sz) { From 5ccafd0113b02c4a4053fddbb40660c71cf24621 Mon Sep 17 00:00:00 2001 From: dentiny Date: Fri, 8 Nov 2024 08:15:16 +0000 Subject: [PATCH 07/10] update on floating Signed-off-by: dentiny --- src/ray/util/size_literals.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/ray/util/size_literals.h b/src/ray/util/size_literals.h index 0ada840bcdef..f129522b0787 100644 --- a/src/ray/util/size_literals.h +++ b/src/ray/util/size_literals.h @@ -44,46 +44,46 @@ constexpr unsigned long long operator""_PiB(unsigned long long sz) { constexpr unsigned long long operator""_PB(unsigned long long sz) { return sz * 1000_TB; } constexpr unsigned long long operator""_KiB(long double sz) { - const long double res = sz * 1024ULL; + const long double res = sz * 1_KiB; return static_cast(res); } constexpr unsigned long long operator""_KB(long double sz) { - const long double res = sz * 1000ULL; + const long double res = sz * 1_KB; return static_cast(res); } constexpr unsigned long long operator""_MiB(long double sz) { - const long double res = sz * 1024_KiB; + const long double res = sz * 1_MiB; return static_cast(res); } constexpr unsigned long long operator""_MB(long double sz) { - const long double res = sz * 1000_KB; + const long double res = sz * 1_MB; return static_cast(res); } constexpr unsigned long long operator""_GiB(long double sz) { - const long double res = sz * 1024_MiB; + const long double res = sz * 1_GiB; return static_cast(res); } constexpr unsigned long long operator""_GB(long double sz) { - const long double res = sz * 1000_MB; + const long double res = sz * 1_GB; return static_cast(res); } constexpr unsigned long long operator""_TiB(long double sz) { - const long double res = sz * 1024_GiB; + const long double res = sz * 1_TiB; return static_cast(res); } constexpr unsigned long long operator""_TB(long double sz) { - const long double res = sz * 1000_GB; + const long double res = sz * 1_TB; return static_cast(res); } constexpr unsigned long long operator""_PiB(long double sz) { - const long double res = sz * 1024_TiB; + const long double res = sz * 1_PiB; return static_cast(res); } constexpr unsigned long long operator""_PB(long double sz) { - const long double res = sz * 1000_TB; + const long double res = sz * 1_PB; return static_cast(res); } From 42be33fdc8d82089a576228dec35e32b9c2e334d Mon Sep 17 00:00:00 2001 From: dentiny Date: Fri, 8 Nov 2024 08:21:04 +0000 Subject: [PATCH 08/10] comment for readability Signed-off-by: dentiny --- src/ray/util/size_literals.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ray/util/size_literals.h b/src/ray/util/size_literals.h index f129522b0787..0db24ab7cdd7 100644 --- a/src/ray/util/size_literals.h +++ b/src/ray/util/size_literals.h @@ -18,6 +18,7 @@ #include +// Size literal for integer values. constexpr unsigned long long operator""_B(unsigned long long sz) { return sz; } constexpr unsigned long long operator""_KiB(unsigned long long sz) { return sz * 1024_B; } @@ -43,6 +44,7 @@ constexpr unsigned long long operator""_PiB(unsigned long long sz) { } constexpr unsigned long long operator""_PB(unsigned long long sz) { return sz * 1000_TB; } +// Size literals for floating point values. constexpr unsigned long long operator""_KiB(long double sz) { const long double res = sz * 1_KiB; return static_cast(res); From 8a6a5fc17479f8b474d16f975e0b4e6ccb1fa9e5 Mon Sep 17 00:00:00 2001 From: dentiny Date: Tue, 12 Nov 2024 20:05:44 +0000 Subject: [PATCH 09/10] use namespace scoped unit Signed-off-by: dentiny --- src/ray/stats/metric_defs.cc | 51 +++++++++++++++++++----- src/ray/util/size_literals.h | 4 ++ src/ray/util/tests/size_literals_test.cc | 4 ++ 3 files changed, 49 insertions(+), 10 deletions(-) diff --git a/src/ray/stats/metric_defs.cc b/src/ray/stats/metric_defs.cc index 42e93a6485ae..abcacb3dcfc5 100644 --- a/src/ray/stats/metric_defs.cc +++ b/src/ray/stats/metric_defs.cc @@ -119,16 +119,47 @@ DEFINE_stats( DEFINE_stats(object_store_dist, "The distribution of object size in bytes", ("Source"), - ({32_MB, - 64_MB, - 128_MB, - 256_MB, - 512_MB, - 1024_MB, - 2048_MB, - 4096_MB, - 8192_MB, - 16384_MB}), + ({[]() constexpr -> unsigned long long { using namespace ray::unit; return 32_MiB; +} // namespace stats +(), []() constexpr->unsigned long long { + using namespace ray::unit; + return 64_MiB; +} +(), []() constexpr->unsigned long long { + using namespace ray::unit; + return 128_MiB; +} +(), []() constexpr->unsigned long long { + using namespace ray::unit; + return 256_MiB; +} +(), []() constexpr->unsigned long long { + using namespace ray::unit; + return 512_MiB; +} +(), []() constexpr->unsigned long long { + using namespace ray::unit; + return 1024_MiB; +} +(), []() constexpr->unsigned long long { + using namespace ray::unit; + return 2048_MiB; +} +(), []() constexpr->unsigned long long { + using namespace ray::unit; + return 4096_MiB; +} +(), []() constexpr->unsigned long long { + using namespace ray::unit; + return 8192_MiB; +} +(), []() constexpr->unsigned long long { + using namespace ray::unit; + return 16382_MiB; +} +(), +} // namespace ray +), ray::stats::HISTOGRAM); /// Placement group metrics from the GCS. diff --git a/src/ray/util/size_literals.h b/src/ray/util/size_literals.h index 0db24ab7cdd7..814257d18592 100644 --- a/src/ray/util/size_literals.h +++ b/src/ray/util/size_literals.h @@ -18,6 +18,8 @@ #include +namespace ray::unit { + // Size literal for integer values. constexpr unsigned long long operator""_B(unsigned long long sz) { return sz; } @@ -89,3 +91,5 @@ constexpr unsigned long long operator""_PB(long double sz) { const long double res = sz * 1_PB; return static_cast(res); } + +} // namespace ray::unit diff --git a/src/ray/util/tests/size_literals_test.cc b/src/ray/util/tests/size_literals_test.cc index 613bca50baff..1e06625277e8 100644 --- a/src/ray/util/tests/size_literals_test.cc +++ b/src/ray/util/tests/size_literals_test.cc @@ -16,6 +16,8 @@ #include +namespace ray::unit { + namespace { TEST(SizeLiteralsTest, BasicTest) { @@ -25,3 +27,5 @@ TEST(SizeLiteralsTest, BasicTest) { } } // namespace + +} // namespace ray::unit From 9040ffd6f5f7041dceb9ced47dc4eb66d337540f Mon Sep 17 00:00:00 2001 From: dentiny Date: Tue, 12 Nov 2024 20:09:09 +0000 Subject: [PATCH 10/10] avoid namespace lambda Signed-off-by: dentiny --- src/ray/stats/metric_defs.cc | 59 ++++++------------------ src/ray/util/size_literals.h | 4 +- src/ray/util/tests/size_literals_test.cc | 4 +- 3 files changed, 17 insertions(+), 50 deletions(-) diff --git a/src/ray/stats/metric_defs.cc b/src/ray/stats/metric_defs.cc index abcacb3dcfc5..95a82593c89b 100644 --- a/src/ray/stats/metric_defs.cc +++ b/src/ray/stats/metric_defs.cc @@ -16,9 +16,9 @@ #include "ray/util/size_literals.h" -namespace ray { +using namespace ray::literals; -namespace stats { +namespace ray::stats { /// The definitions of metrics that you can use everywhere. /// @@ -119,47 +119,16 @@ DEFINE_stats( DEFINE_stats(object_store_dist, "The distribution of object size in bytes", ("Source"), - ({[]() constexpr -> unsigned long long { using namespace ray::unit; return 32_MiB; -} // namespace stats -(), []() constexpr->unsigned long long { - using namespace ray::unit; - return 64_MiB; -} -(), []() constexpr->unsigned long long { - using namespace ray::unit; - return 128_MiB; -} -(), []() constexpr->unsigned long long { - using namespace ray::unit; - return 256_MiB; -} -(), []() constexpr->unsigned long long { - using namespace ray::unit; - return 512_MiB; -} -(), []() constexpr->unsigned long long { - using namespace ray::unit; - return 1024_MiB; -} -(), []() constexpr->unsigned long long { - using namespace ray::unit; - return 2048_MiB; -} -(), []() constexpr->unsigned long long { - using namespace ray::unit; - return 4096_MiB; -} -(), []() constexpr->unsigned long long { - using namespace ray::unit; - return 8192_MiB; -} -(), []() constexpr->unsigned long long { - using namespace ray::unit; - return 16382_MiB; -} -(), -} // namespace ray -), + ({32_MiB, + 64_MiB, + 128_MiB, + 256_MiB, + 512_MiB, + 1024_MiB, + 2048_MiB, + 4096_MiB, + 8192_MiB, + 16384_MiB}), ray::stats::HISTOGRAM); /// Placement group metrics from the GCS. @@ -416,6 +385,4 @@ DEFINE_stats( (), ray::stats::GAUGE); -} // namespace stats - -} // namespace ray +} // namespace ray::stats diff --git a/src/ray/util/size_literals.h b/src/ray/util/size_literals.h index 814257d18592..85988fb134ef 100644 --- a/src/ray/util/size_literals.h +++ b/src/ray/util/size_literals.h @@ -18,7 +18,7 @@ #include -namespace ray::unit { +namespace ray::literals { // Size literal for integer values. constexpr unsigned long long operator""_B(unsigned long long sz) { return sz; } @@ -92,4 +92,4 @@ constexpr unsigned long long operator""_PB(long double sz) { return static_cast(res); } -} // namespace ray::unit +} // namespace ray::literals diff --git a/src/ray/util/tests/size_literals_test.cc b/src/ray/util/tests/size_literals_test.cc index 1e06625277e8..446c5c67a947 100644 --- a/src/ray/util/tests/size_literals_test.cc +++ b/src/ray/util/tests/size_literals_test.cc @@ -16,7 +16,7 @@ #include -namespace ray::unit { +namespace ray::literals { namespace { @@ -28,4 +28,4 @@ TEST(SizeLiteralsTest, BasicTest) { } // namespace -} // namespace ray::unit +} // namespace ray::literals