The throughput of the simulator may be further improved by optimizing the way we read the tracefile in. Currently, the tracefile is being read line-by-line, which would generate a system call for every line of the file.
Reading could be improved by reading a block of the tracefile into a buffer, and then parsing lines from the block. A system call would only need to be generated after an entire block had been processed.