In this und this Beiträge beschreibe ich das Framework, das ich entwickeln möchte.Behalten Sie einen Objektstatus in verschiedenen Läufen
Ich möchte eine memoization Strategie implementieren, um die Ausführung einiger Funktionen zu beschleunigen. Ein wichtiges Merkmal dieses Frameworks sollte sein, sich an die berechneten Werte vergangener Läufe zu erinnern: Nehmen wir an, wir schreiben ein Programm, in dem wir eine Wortzählfunktion f
mit dem großen Text t
als Eingabe ausführen. Nachdem wir r=f(t)
berechnet haben (wobei r
das Ergebnis ist), folgen wir der Memo-Logik, also speichern wir irgendwo, sagen wir ein unordered_map
Objekt um
. Danach wird das Programm beendet.
Bei der nächsten Ausführung des gleichen Programms ist die teure Ausführung f
nicht notwendig, da um
bereits (t,r)
enthält, so wird der Wert r
zurückgegeben.
Das Problem in all dem ist, wie man sich "um
" in verschiedenen Ausführungen "erinnert".
WICHTIG: Offensichtlich ist dies ein Beispiel, um Ihnen eine mögliche Anwendung dieses Frameworks zu erklären, aber jede Memoization-Anwendung muss auch funktionieren.
Write a c++ object to file ist die einzige Lösung für dieses Problem/Szenario, oder gibt es eine andere?
Speichern Sie die Informationen mit dem Dateisystem und lesen Sie sie während der späteren Läufe ein. – lcs
Können Sie bitte Ihre Lösung besser erklären? Betrachten Sie den WICHTIGEN Abschnitt und konzentrieren Sie sich nicht zu sehr auf das mitgelieferte Beispiel (das nur berichtet wird, um diese Art von Memo zu verstehen). – justHelloWorld
Nun, Sie werden die Daten irgendwo speichern müssen.Sie könnten eine DB, eine Datei, eine Art Cloud-Speicher oder etwas anderes verwenden, aber die Daten müssen irgendwo dauerhaft gespeichert werden. – NathanOliver