lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master 8175770 5/5: Add ledger speed test


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 8175770 5/5: Add ledger speed test
Date: Sat, 6 Oct 2018 16:59:48 -0400 (EDT)

branch: master
commit 8175770d2942170e4bf1065c691fd97861f4e98f
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>

    Add ledger speed test
---
 ledger_test.cpp | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/ledger_test.cpp b/ledger_test.cpp
index 4618591..19a76a6 100644
--- a/ledger_test.cpp
+++ b/ledger_test.cpp
@@ -28,6 +28,7 @@
 
 #include "path_utility.hpp"             // initialize_filesystem()
 #include "test_tools.hpp"
+#include "timer.hpp"
 
 #include <cstdio>                       // remove()
 
@@ -40,11 +41,13 @@ class ledger_test
         {
         test_default_initialization();
         test_evaluator();
+        test_speed();
         }
 
   private:
     static void test_default_initialization();
     static void test_evaluator();
+    static void test_speed();
 };
 
 void ledger_test::test_default_initialization()
@@ -73,6 +76,25 @@ void ledger_test::test_evaluator()
     BOOST_TEST(0 == std::remove("tsv_eraseme.values.tsv"));
 }
 
+void ledger_test::test_speed()
+{
+    Ledger ledger(100, mce_finra, false, false, false);
+    ledger.ledger_invariant_->WriteTsvFile = true;
+    ledger_evaluator z {ledger.make_evaluator()};
+
+    auto f0 = [       ]() {Ledger(100, mce_finra, false, false, false);};
+    auto f1 = [&ledger]() {ledger.make_evaluator();};
+    auto f2 = [&z     ]() {z.write_tsv("tsv_eraseme");};
+    std::cout
+        << "\nLedger speed tests:"
+        << "\n  construct        : " << TimeAnAliquot(f0)
+        << "\n  make_evaluator() : " << TimeAnAliquot(f1)
+        << "\n  write_tsv()      : " << TimeAnAliquot(f2)
+        << std::endl
+        ;
+    BOOST_TEST(0 == std::remove("tsv_eraseme.values.tsv"));
+}
+
 int test_main(int, char*[])
 {
     // Absolute paths require "native" name-checking policy for msw.



reply via email to

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