From 5b546740285ff3d87e92df00740370a9e26cb8ba Mon Sep 17 00:00:00 2001
From: Franck Dary <franck.dary@lis-lab.fr>
Date: Mon, 13 Jan 2020 15:41:04 +0100
Subject: [PATCH] Reduced subconfig span to save memory

---
 dev/src/dev.cpp                       | 10 ++++++----
 reading_machine/include/SubConfig.hpp |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/dev/src/dev.cpp b/dev/src/dev.cpp
index c538b98..889b473 100644
--- a/dev/src/dev.cpp
+++ b/dev/src/dev.cpp
@@ -27,7 +27,7 @@ int main(int argc, char * argv[])
 
   config.setState(machine.getStrategy().getInitialState());
 
-  config.printForDebug(stderr);
+  std::vector<std::pair<SubConfig, Transition*>> trainingExamples;
 
   while (true)
   {
@@ -35,8 +35,10 @@ int main(int argc, char * argv[])
     if (!transition)
       util::myThrow("No transition appliable !");
 
-    fmt::print(stderr, "Transition : {}\n", transition->getName());
+    trainingExamples.emplace_back(config, transition);
+
     transition->apply(config);
+    config.addToHistory(transition->getName());
 
     auto movement = machine.getStrategy().getMovement(config, transition->getName());
     if (movement == Strategy::endMovement)
@@ -48,10 +50,10 @@ int main(int argc, char * argv[])
 
     if (config.needsUpdate())
       config.update();
-
-    config.printForDebug(stderr);
   }
 
+  trainingExamples[10000].first.printForDebug(stderr);
+
   return 0;
 }
 
diff --git a/reading_machine/include/SubConfig.hpp b/reading_machine/include/SubConfig.hpp
index 66725c8..70f0ce5 100644
--- a/reading_machine/include/SubConfig.hpp
+++ b/reading_machine/include/SubConfig.hpp
@@ -8,7 +8,7 @@ class SubConfig : public Config
 {
   private :
 
-  static constexpr std::size_t spanSize = 100;
+  static constexpr std::size_t spanSize = 50;
 
   private :
 
-- 
GitLab