Hallo,
Ich lege bei komplizierteren Berechnungen, bei denen es nur einen oder wenige Eingabewerte gibt, einen Cache an und runde dabei um einige Stellen, sodass der Cache klein bleibt, aber viele Anfragen schnell und ausreichend genau beantwortet werden können, ohne nochmal zu rechnen.
Rundest du die Eingabewerte (Keys) oder die Ausgabewerte (Values)? Aus deinem
Posting lese ich heraus, dass du die Ausgabewerte (Values) rundest, was IMHO
gar keinen Sinn ergibt. Daher wohl auch die Nachfrage von ActiviT.
Korrigier mich, wenn ich deine Aussage jetzt falsch präzisiere:
Wenn nur wenige Eingabewerte (<1000 oder so) existieren, kann man einen Cache
anlegen, in dem diese Eingabwerte UND die Ausgabwerte in voller Präzision
gespeichert werden.
Wenn viele mögliche Eingabewerte mit kleiner Abweichung und mit korrespondierender
kleiner Abweichung bei den Ausgabewerten existieren, kann man die Eingabewerte
auf x Nachkommastellen runden, weil dann ggf. nicht jede minimale Abweichung
im Nachkommabereich einen neuen Cache-Eintrag zur Folge hat.
Wenn man viele Eingabe/Ausgabewerte mit großen Abweichungen hat, sollte man
einen Cache mit brauchbarer Verdrängungsstrategie anwenden.
Gruß
Slyh