A multithreaded fix implies that each operation must not impact the others. Romcenter is multi-threaded and multi-core, as well for analyzing files as for fixing them. The bottleneck obviously comes from the file system. When fixing roms, you have to copy, delete or rename roms inside zip, while keeping the data up-to-date in the database to ensure that the following scans are correct. A display list is not really made to display 38,000 games. Show all that on screen is not very practical. This allows queries to be done quickly enough to identify the roms. Romcenter uses a real database to handle this amount of data. Then you have to identify each rom among the 657,000 in mame and check the name, size and location. For unzipped roms, you have to load the rom in memory and manually calculate the crc. If we wanted to use sha-1, it would take hours. Fortunately, zipped files contain the crc of all rom in the header, no need to recalculate. Then read the users rom files with their crc. Today, roms manager need real optimizations to process hundred of thousands of roms (657 000 in mame 0.192).įirst, you have to analyze data files of more than 200MB (more than 4,700,000 lines) and extract games, roms, crc, sizes, parent-clones relations. At the beginning of romcenter 20 years ago, mame was just handling a small number of games and we don't care about processing time as it was very fast, no matter how to do that. I won't compare roms managers for obvious reasons, but I can give you some info about processing time.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |