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

Optimized groupBy operations #1350

Merged
merged 2 commits into from
May 24, 2016
Merged

Optimized groupBy operations #1350

merged 2 commits into from
May 24, 2016

Conversation

l0rinc
Copy link
Contributor

@l0rinc l0rinc commented May 23, 2016

Fixes #1345

Before:

Target         Operation                               Ratio          10        100       1000 
ListBenchmark  GroupBy     fjava_persistent/slang_persistent       0.90x      0.13x      0.05x 
ListBenchmark  GroupBy         java_mutable/slang_persistent      19.23x     20.13x     15.16x 
ListBenchmark  GroupBy     scala_persistent/slang_persistent       4.96x      8.49x     10.34x 

i.e. it was ~10x slower than Scala

After:

Target         Operation                               Ratio          10        100       1000 
ListBenchmark  GroupBy     fjava_persistent/slang_persistent       0.11x      0.01x      0.00x 
ListBenchmark  GroupBy         java_mutable/slang_persistent       2.55x      2.00x      1.19x 
ListBenchmark  GroupBy     scala_persistent/slang_persistent       0.66x      0.83x      1.04x

i.e. it's usually faster than Scala

@@ -390,14 +390,14 @@ public static TestExecution of(BenchmarkResult benchmarkResult, double outlierLo
}

public TestExecution(BenchmarkResult benchmark) {
Result primaryResult = benchmark.getPrimaryResult();
final Result<?> primaryResult = benchmark.getPrimaryResult();
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wouldn't compile otherwise

@codecov-io
Copy link

Current coverage is 95.57%

Merging #1350 into master will increase coverage by <.01%

  1. 2 files (not in diff) in .../main/java/javaslang were modified. more
    • Partials -2
    • Hits +2
@@             master      #1350   diff @@
==========================================
  Files            86         86          
  Lines          9988       9991     +3   
  Methods           0          0          
  Messages          0          0          
  Branches       1802       1803     +1   
==========================================
+ Hits           9543       9548     +5   
  Misses          318        318          
+ Partials        127        125     -2   

Powered by Codecov. Last updated by 930163f...0f1bf89

@danieldietrich
Copy link
Contributor

Great, thank you!

@danieldietrich danieldietrich merged commit 4bab3a8 into vavr-io:master May 24, 2016
@l0rinc l0rinc deleted the GroupBy branch May 24, 2016 17:34
@danieldietrich danieldietrich modified the milestones: 2.1.0, 2.0.3 Aug 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants