20 #include <ripple/beast/unit_test.h>
21 #include <ripple/rpc/impl/Handler.h>
39 return (os << ns.
count() <<
"ns");
56 double sum_squared = 0;
62 for (
auto& i : inputs)
82 sum_squared += (samples[k] * samples[k]);
86 const double mean_squared = (
sum *
sum) / (j * j);
88 clock::duration{
static_cast<long>(
sum / j)},
90 static_cast<long>(
std::sqrt((sum_squared / j) - mean_squared))},
97 testcase(
"Handler lookup performance");
108 auto const [mean, stdev, n] =
time(
112 dummy = dummy + i + (int)d->role_;
116 std::cout <<
"mean=" << mean <<
" stdev=" << stdev <<
" N=" << n
119 BEAST_EXPECT(dummy != 0);
void reportLookupPerformance()
Handler const * getHandler(unsigned version, bool betaEnabled, std::string const &name)
std::set< char const * > getHandlerNames()
Return names of all methods.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
auto time(std::size_t n, auto f, auto prng) -> auto
auto make_vector(Input const &input) requires requires(Input &v)
std::ostream & operator<<(std::ostream &os, std::chrono::nanoseconds ns)
BEAST_DEFINE_TESTSUITE_MANUAL(AMMCalc, app, ripple)
static auto sum(TCollection const &col)