diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-04-24 10:53:20 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-05-08 10:33:45 +0200 |
commit | b154269b0e7447cfbf7fdb73c8c4efcdca545b11 (patch) | |
tree | 662076793ed1333d8d0393efac365f9fe3cd80b9 /src/actors | |
parent | aa3a3dd6a420f57b0fe815bfcb2b23fbb4284468 (diff) | |
download | scala-b154269b0e7447cfbf7fdb73c8c4efcdca545b11.tar.gz scala-b154269b0e7447cfbf7fdb73c8c4efcdca545b11.tar.bz2 scala-b154269b0e7447cfbf7fdb73c8c4efcdca545b11.zip |
SI-8531 Better space efficiency for patmat analysis
By adding logging to `clause`, I found that the majority of
calls provide 0 or 1 elements. In SI-7020 / 69557da55, we changed this
method to use a `LinkedHashSet` to have deterministic results
for clauses with more elements. But I suspect that this
contributes to higher memory usage from the pattern matcher.
The enclosed test case, carefully whittled down by @oxbowlakes,
used to consume an inordinate amount of memory and time.
After this patch, it is back to 2.10.4 performance.
I have run `neg/t7020.scala` in a loop and it still is deterministic.
Diffstat (limited to 'src/actors')
0 files changed, 0 insertions, 0 deletions