Ich würde generell erst einmal alle Daten permanent im Speicher halten... speichern und laden der Daten von/in die/der INI-Datei und das immer und immer wieder ist nicht gerade performant...
Anders würde ich das auch nicht machen, wenn eine Datenbank genutzt wird (unabhängig vom Datenbanktyp)
Im Speicher würde ich die Daten in einem Array halten, 2-D Array um genau zu sein... dann lässt sich auch der Rechner mit einer recht einfachen/simplen Schleife finden