I wouldn't discard it that quickly.
It does lead to solving two more tasks in the 32-bit configuration, and the
starting point here was to bring the 64-bit configuration up to the level of the
32-bit configuration, so we would hope to get a similar improvement there
eventually.
Using a few more megabytes is usually not a big deal, but saving a lot of time
can be a big deal. For example, if we placed a limit of 300 seconds on total
time, the coverage difference of the 32-bit configuration would be +7 if I
looked at the data correctly. For people who care about time, or for example
when using the CG heuristic in a portfolio, what happens with lower runtime
bounds matters.
Time and memory are resources of different kinds: with memory, we don't care so
much how much of it we use as long as we don't exhaust it. With time, faster is
always better. The cache uses an easily calculatable and configurable amount of
memory. It may look bad on the memory score because that is a logarithmic scale
and the cache can make the difference between "uses very little memory" to "uses
little memory", which is a big deal on that kind of scale. But it is not so
large that it will commonly make the difference between "barely fits within the
memory limit" and "exhausts the memory limit".
Also, if we think it uses too much memory, we can reduce its size. I'm not sure
the cache size has ever been tweaked in 15 years, so we might even get
substantially better performance by making it smaller or larger.
Finally, the cache code is not very complicated and has been trivial to maintain.
The main concern I have with the cache is that, going through the runtime
results, there also seem to be quite a few cases where it slows things down. If
we want to consider getting rid of it, I would like to see how often it actually
reduces runtime and by how much.
A good way to see that would be a cactus plot of problems solved over time using
the "total_time" attribute. It would also be interesting to see a similar plot
for the memory attribute (for solved tasks only), i.e., number of problems
solved over memory used. If these pictures don't look good, I wouldn't mind
removing the cache, although to be diligent we should perhaps also experiment a
little bit with the cache size, which was probably set with computers around
2004 in mind.
|