savina
savina copied to clipboard
The Unbalanced Cobwebbed Tree benchmark uses a busy loop that is likely to be removed by a compiler
The busy loop just increments the counter, and returns it. For some reason it also gets currentTimeMillis, but does not use it. If a JIT compiler performance inlining and sees that the return value is never used, the loop is easily removed, which is probably not desirable, because, I guess this is part of the 'parallel work load' in tryGenerateChildren(), traverse(), and urgentTraverse().
https://github.com/shamsmahmood/savina/blob/master/src/main/java/edu/rice/habanero/benchmarks/uct/UctConfig.java#L64
There seem to be other issues with the benchmarks, the whole urgentTraversal/urgentChild notion seems to be unused. At least, I don't see how this code path is ever taken. Is this something essential?