diff options
author | Paul Phillips <paulp@improving.org> | 2012-11-30 11:22:00 +0100 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-12-27 15:47:58 -0800 |
commit | 6a288b632e0e78a96f1298be9b4e8231728183af (patch) | |
tree | 3333670c1a9c8cad954dc21049b857ce18b540e7 /docs/examples/jolib | |
parent | eb491d2f1a857a25e381eb23275b78ccafd2981a (diff) | |
download | scala-6a288b632e0e78a96f1298be9b4e8231728183af.tar.gz scala-6a288b632e0e78a96f1298be9b4e8231728183af.tar.bz2 scala-6a288b632e0e78a96f1298be9b4e8231728183af.zip |
Eliminate allocations in Types.
At this commit the statistics when compiling src/library
are as follows. These counts are precise, collected by a
modified Function1 which counts every instantiation of every
implementing class. The net result is 27 million fewer
allocations, over a 20% drop.
// master (5b5635ee9d), total and top five by count:
Total Function1 allocations: 128,805,865
scala.collection.immutable.$colon$colon 26781958
scala.collection.mutable.ListBuffer 15365174
scala.collection.TraversableLike$$anonfun$map$1 9127787
scala.collection.generic.Growable$$anonfun$$plus$plus$eq$1 4636154
scala.collection.mutable.StringBuilder 3531211
// After these commits, total and top five by count:
Total Function1 allocations: 101,865,721
scala.collection.immutable.$colon$colon 26993704
scala.collection.mutable.ListBuffer 15319656
scala.collection.TraversableLike$$anonfun$map$1 7585019
scala.reflect.internal.Types$MethodType$$anonfun$paramTypes$1 2447307
scala.reflect.internal.Types$SubstSymMap 2436088
Diffstat (limited to 'docs/examples/jolib')
0 files changed, 0 insertions, 0 deletions