Skip to content

Commit

Permalink
📝 Updated benchmarks
Browse files Browse the repository at this point in the history
  • Loading branch information
wlambooy committed Jan 15, 2025
1 parent 32c0680 commit 9aebb79
Showing 1 changed file with 38 additions and 135 deletions.
173 changes: 38 additions & 135 deletions test/benchmark/simulation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -115,101 +115,43 @@ TEST_CASE("Benchmark simulators", "[benchmark]")
// 4.50754 ms 4.47813 ms 4.54016 ms
// 158.347 us 137.998 us 187.498 us

// Intel Core i6700HQ (8 cores @ 2.60 GHz), Ubuntu 22.04.2 LTS, Ubuntu clang version 14.0.0 (13.04.24)

// before "Add and subtract parent potential only once"
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -------------------------------------------------------------------------------
// QuickExact 100 1 3.20383 m
// 1.87035 s 1.85331 s 1.89046 s
// 94.185 ms 79.5784 ms 114.325 ms
//
// QuickSim 100 1 1.01174 s
// 10.3755 ms 10.2221 ms 10.5144 ms
// 742.128 us 579.253 us 977.237 us
// AMD Ryzen Threadripper PRO 5955X, Ubuntu 20.04, Ubuntu clang version 18.1.3 (15.01.2025)
//
// ClusterComplete 100 1 6.36677 s
// 68.1879 ms 66.8025 ms 69.7052 ms
// 7.4455 ms 6.55368 ms 8.6877 ms

// after "Add and subtract parent potential only once"
// before "Store composition bounds to subtract after recursion"
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -------------------------------------------------------------------------------
// QuickExact 100 1 3.05071 m
// 1.86217 s 1.84601 s 1.88107 s
// 88.7133 ms 77.0255 ms 114.574 ms
//
// QuickSim 100 1 966.661 ms
// 9.82326 ms 9.69725 ms 9.95392 ms
// 655.91 us 533.255 us 871.692 us
//
// ClusterComplete 100 1 5.99807 s
// 62.7459 ms 61.3404 ms 64.3648 ms
// 7.71925 ms 6.65408 ms 9.13036 ms

// after "Store composition bounds to subtract after recursion"
// before "Restructured stores of potential bounds"
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -------------------------------------------------------------------------------
// QuickExact 100 1 3.09518 m
// 1.86457 s 1.84747 s 1.88346 s
// 91.8324 ms 82.2694 ms 102.996 ms
//
// QuickSim 100 1 941.808 ms
// 9.84096 ms 9.75242 ms 9.94587 ms
// 491.07 us 387.717 us 673.361 us
//
// ClusterComplete 100 1 4.60825 s
// 45.0607 ms 44.2967 ms 45.9833 ms
// 4.25241 ms 3.59799 ms 5.09686 ms

// after "Restructured stores of potential bounds"
// before "Compute external projections for each composition in GSS"
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -------------------------------------------------------------------------------
// QuickExact 100 1 3.16303 m
// 1.8573 s 1.83863 s 1.87994 s
// 104.263 ms 86.6128 ms 131.582 ms
// Before PR #390:
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -----------------------------------------------------------------------------
// QuickExact 100 1 1.6412 m
// 1.01839 s 1.01649 s 1.02095 s
// 11.1488 ms 8.8668 ms 14.6936 ms
//
// QuickSim 100 1 928.817 ms
// 9.50481 ms 9.38153 ms 9.67599 ms
// 731.198 us 519.946 us 1.15811 ms
// QuickSim 100 1 202.955 ms
// 2.00015 ms 1.97047 ms 2.05573 ms
// 199.837 us 129.863 us 357.338 us
//
// ClusterComplete 100 1 2.29913 s
// 22.6208 ms 22.2895 ms 23.0093 ms
// 1.82446 ms 1.58868 ms 2.0759 ms

// after "Compute external projections for each composition in GSS"
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -------------------------------------------------------------------------------
// QuickExact 100 1 3.07802 m
// 1.82677 s 1.81125 s 1.84519 s
// 85.8776 ms 73.6874 ms 102.415 ms
// After PR #390:
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -----------------------------------------------------------------------------
// QuickExact 100 1 1.65065 m
// 1.01159 s 1.006 s 1.0285 s
// 45.175 ms 18.3951 ms 98.1386 ms
//
// QuickSim 100 1 949.075 ms
// 9.6784 ms 9.55572 ms 9.81532 ms
// 659.103 us 529.837 us 908.398 us
// QuickSim 100 1 185.262 ms
// 1.87537 ms 1.85862 ms 1.92868 ms
// 138.199 us 51.2677 us 305.326 us
//
// ClusterComplete 100 1 1.78456 s
// 17.2877 ms 17.0146 ms 17.5923 ms
// 1.46908 ms 1.29383 ms 1.70859 ms
// ClusterComplete 100 1 633.861 ms
// 20.5306 ms 16.53 ms 26.2279 ms
// 24.2954 ms 18.5671 ms 31.7567 ms

#if (FICTION_ALGLIB_ENABLED)
TEST_CASE("Benchmark ClusterComplete", "[benchmark]")
{
// number of non-terminating segments of a diagonal wire
const uint64_t i = 1;
const uint64_t i = 2;

hex_odd_row_gate_clk_lyt lyt{{(i + 1) / 2, i + 1}};

Expand All @@ -225,59 +167,20 @@ TEST_CASE("Benchmark ClusterComplete", "[benchmark]")
const lattice cl{convert_layout_to_siqad_coordinates(
apply_gate_library<sidb_100_cell_clk_lyt, sidb_bestagon_library, hex_odd_row_gate_clk_lyt>(lyt))};

BENCHMARK("3 Segment Diagonal Bestagon Wire")
BENCHMARK("4 Segment Diagonal Bestagon Wire")
{
const clustercomplete_params<cell<lattice>> sim_params{sidb_simulation_parameters{3, -0.32}};
return clustercomplete<lattice>(cl, sim_params);
};
}
#endif // FICTION_ALGLIB_ENABLED
// Intel Core i6700HQ (8 cores @ 2.60 GHz), Ubuntu 22.04.2 LTS, Ubuntu clang version 14.0.0 (13.04.24)

// before "Add and subtract parent potential only once"
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -------------------------------------------------------------------------------
// 3 Segment Diagonal Bestagon Wire 100 1 2.86089 m
// 1.57859 s 1.56147 s 1.60054 s
// 98.2992 ms 79.0445 ms 133.074 ms

// after "Add and subtract parent potential only once"
// before "Store composition bounds to subtract after recursion"
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -------------------------------------------------------------------------------
// 3 Segment Diagonal Bestagon Wire 100 1 2.43878 m
// 1.43439 s 1.42121 s 1.44845 s
// 69.1732 ms 60.7787 ms 80.0373 ms

// after "Store composition bounds to subtract after recursion"
// before "Restructured stores of potential bounds"
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -------------------------------------------------------------------------------
// 3 Segment Diagonal Bestagon Wire 100 1 1.88129 m
// 1.12828 s 1.11773 s 1.14043 s
// 57.5402 ms 48.6612 ms 71.5112 ms

// after "Restructured stores of potential bounds"
// before "Compute external projections for each composition in GSS"
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -------------------------------------------------------------------------------
// 3 Segment Diagonal Bestagon Wire 100 1 51.5535 s
// 579.269 ms 571.672 ms 588.093 ms
// 41.8846 ms 35.4194 ms 51.1304 ms

// after "Compute external projections for each composition in GSS"
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// -------------------------------------------------------------------------------
// 3 Segment Diagonal Bestagon Wire 100 1 44.3262 s
// 454.74 ms 448.366 ms 461.915 ms
//
// AMD Ryzen Threadripper PRO 5955X, Ubuntu 20.04, Ubuntu clang version 18.1.3 (15.01.2025)
//
// Without jemalloc:
// benchmark name samples iterations est run time
// mean low mean high mean
// std dev low std dev high std dev
// ---------------------------------------------------------------------------------------------
// 4 Segment Diagonal Bestagon Wire 100 1 2.39773 m
// 1.44927 s 1.44573 s 1.45397 s
// 20.5985 ms 16.1537 ms 32.1081 ms

0 comments on commit 9aebb79

Please sign in to comment.