[m-rev.] for review: string switches using tries
novalazy at gmail.com
Mon Mar 2 16:51:32 AEDT 2015
On Tue, 24 Feb 2015 17:38:18 +1100, Michael Day <mikeday at yeslogic.com> wrote:
> Hi Zoltan,
> > I don't have access to any real workloads in which switches on strings
> > are a nontrivial part of the task, so I am missing real data for part (b).
> > When other developers have had a chance to try out this diff and have found
> > that it works for them, I was planning to ask for volunteer performance
> > evaluators on the mercury-users list. I think it likely that Michael Day
> > would be interested.
> We have a few semidet switches on strings, eg. for CSS property names,
> which have lots of common prefixes like border-left, border-right, etc.
> Peter Wang might like to test this, as he builds new compiler versions
> more frequently than I do :)
Here are the results for a real workload, Prince built in hlc.gc with
options -O5 --intermodule-optimisation --optimize-constructor-last-call
--string-trie-switch-size=N converting a document thesis.html.
Times are in user seconds, averaged over ten runs each.
3.3836s --string-trie-switch-size=1 (no hash tables used)
3.3586s --string-trie-switch-size=256 (no tries used)
More information about the reviews