Opened 9 years ago

Last modified 7 years ago

#3433 closed defect

Fix replay menu loading time by using a cache file — at Version 1

Reported by: elexis Owned by:
Priority: Must Have Milestone: Alpha 22
Component: Core engine Keywords: patch
Cc: Patch:

Description (last modified by elexis)

This problem was reported in ticket:3258#comment:15

Problem: If you open the replay menu, it will read all replay files it finds in the sim_log directory.

While the parsing in C++ is quite optimized (only reads the first and last 5 or so lines) and also the JS & GUI handling is fast enough (half a second for 2500 replays), having to open these files the first time can take up to a minute. This is because the files are scattered around on the harddrive and it needs some mechanical work to locate the files.

After that the files are loaded into the HDD cache and this process only takes milliseconds.

Reproduce: On linux you can drop the HDD cache by executing:

echo 3 | sudo tee /proc/sys/vm/drop_caches

Solution: The correct solution to address this disk I/O problem is to have a custom cache file. This way files will be read only once, ever. (Immediately after the game or when opening the menu and finding new files).

Change History (1)

comment:1 by elexis, 9 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.