Tak po delší době se podařil trochu větší pokrok. Bylo nutné předělat práci s lokálními proměnnými v uživatelských funkcích. Díky tomu, že se mi podařilo sehnat knihu PC FAND krok za krokem, jsem si mohl přečíst nějaké detaily o tom, jak funguje samotný PC FAND a také jak by měly přesně fungovat některé příkazy. Děkuji tímto ještě jednou p. Vladimíru Valdovi za to, že mi ji věnoval; je jako nová.
Postupně se tedy podařilo přeložit i MODUL01 v Účtu a program hlásí při startu "SPUŠTĚNÍ PO HAVÁRII"
S ohledem na to, že celá kompilace Účta vč. tohoto modulu trvala 1,5 minuty, rozhodl jsem se, že už v této fázi budu řešit profiling.
Kompilace vytěžuje po celou dobu 1 jádro procesoru na 100%. Hodně času zabírala práce se soubory na disku. Proto jsem se rozhodl naimplementovat cache, kterou originál PC FAND používá. Jen tedy trochu jinak, protože nemám problém s operační pamětí. Na té se to konec konců téměř neprojevilo.
Pokud spustím RELEASE, tak se načte info o havárii za 6 vteřin, což je úžasné. Zabírá to celé 31 MB v RAM.
Pokud spustím DEBUG, načte se obrazovka za 45 vteřin (tedy za polovinu původního času) a potřebuje 49 MB RAM.
Takže prapůvodní myšlenka o nutnosti ukládat zkompilovaný kód je asi zbytečná. Předpokládám, že po nějakých optimalizacích se těch 6 vteřin v Releasu podaří ještě o něco málo srazit a tento čas už snad nikoho nezabije
Jak je vidět, jsou tam chyby (některé schválně). Rozměr obrazovky je 80x25, větší jsem zatím nezkoušel.
Teď je nutné dořešit práci s index. soubory, jinak se to asi dál nepohne. A to bude na dlouho ...