lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master e8d4b982 08/11: Measure ledger_format() speed


From: Greg Chicares
Subject: [lmi-commits] [lmi] master e8d4b982 08/11: Measure ledger_format() speed
Date: Fri, 29 Apr 2022 11:59:33 -0400 (EDT)

branch: master
commit e8d4b982b276914f8df11963c26d8d2cc89f35ca
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Measure ledger_format() speed
    
    Baseline:
    
    i686-w64-mingw32
      construct        : 2.075e-03 s mean;       1776 us least of 100 runs
      make_evaluator() : 1.164e-02 s mean;      10358 us least of  86 runs
      write_tsv()      : 4.719e-03 s mean;       4278 us least of 100 runs
      mete_format()    : 1.325e-02 s mean;      12848 us least of  76 runs
    
    x86_64-pc-linux-gnu
      construct        : 5.058e-04 s mean;        496 us least of 100 runs
      make_evaluator() : 7.281e-03 s mean;       7001 us least of 100 runs
      write_tsv()      : 1.389e-03 s mean;       1369 us least of 100 runs
      mete_format()    : 8.399e-03 s mean;       8362 us least of 100 runs
---
 ledger_test.cpp | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/ledger_test.cpp b/ledger_test.cpp
index 57908211..7bfa529d 100644
--- a/ledger_test.cpp
+++ b/ledger_test.cpp
@@ -98,6 +98,27 @@ void ledger_test::test_ledger_format()
     LMI_TEST_EQUAL("0.0314"     , ledger_format(pi, g3));
 }
 
+void mete_format()
+{
+    constexpr double pi_millions {3141592.65358979323851};
+    constexpr std::pair<int,oenum_format_style> f1(0, oe_format_normal);
+    constexpr std::pair<int,oenum_format_style> f2(2, oe_format_normal);
+    constexpr std::pair<int,oenum_format_style> f3(0, oe_format_percentage);
+    constexpr std::pair<int,oenum_format_style> f4(2, oe_format_percentage);
+    static std::vector<double> const v {pi_millions, 100};
+    for(int j = 0; j < 1000; ++j)
+        {
+        ledger_format(pi_millions, f1);
+        ledger_format(pi_millions, f2);
+        ledger_format(pi_millions, f3);
+        ledger_format(pi_millions, f4);
+        ledger_format(v, f1);
+        ledger_format(v, f2);
+        ledger_format(v, f3);
+        ledger_format(v, f4);
+        }
+}
+
 void ledger_test::test_speed()
 {
     Ledger ledger(100, mce_finra, false, false, false);
@@ -112,6 +133,7 @@ void ledger_test::test_speed()
         << "\n  construct        : " << TimeAnAliquot(f0)
         << "\n  make_evaluator() : " << TimeAnAliquot(f1)
         << "\n  write_tsv()      : " << TimeAnAliquot(f2)
+        << "\n  mete_format()    : " << TimeAnAliquot(mete_format)
         << std::endl
         ;
     LMI_TEST(0 == std::remove("tsv_eraseme.values.tsv"));



reply via email to

[Prev in Thread] Current Thread [Next in Thread]