Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eliminating allocations. #1823

Merged
merged 14 commits into from Dec 31, 2012
Merged

Eliminating allocations. #1823

merged 14 commits into from Dec 31, 2012

Commits on Dec 27, 2012

  1. Eliminate allocations in ListBuffer.

    ++= on a linear sequence can be accomplished without
    closure allocation.
    paulp committed Dec 27, 2012
    Configuration menu
    Copy the full SHA
    3f9943b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c53359e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3059e3a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    78269a6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d3099c0 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1697132 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    bf253b8 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2e3e43b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9a6320b View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    cdf6feb View commit details
    Browse the repository at this point in the history
  11. Eliminate allocations in Trees.

    paulp committed Dec 27, 2012
    Configuration menu
    Copy the full SHA
    113405b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    57c40c5 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    eb491d2 View commit details
    Browse the repository at this point in the history
  14. 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 (5b5635e), 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
    paulp committed Dec 27, 2012
    Configuration menu
    Copy the full SHA
    6a288b6 View commit details
    Browse the repository at this point in the history