summaryrefslogtreecommitdiff
path: root/test/benchmarks
Commit message (Collapse)AuthorAgeFilesLines
* Use 2.12.0-M4-9901daf as STARR (see #5152)Adriaan Moors2016-06-281-1/+1
| | | | | | | | | | | | | | This commit switches to using 2.12.0-M3-dc9effe as STARR, so that we can switch to the new trait encoding where each concrete trait member gets a a static member, which has the actual implementation (as well as serving as a target for for super calls using invokestatic), and a default member (forwards to the static member). Also bump partest to 1.0.17 -- the release that goes with the in-sourcing of scalacheck. Replace a few more -Yopt with -opt (for our new STARR)
* scala version in benchmark projectLukas Rytz2016-06-021-1/+1
|
* Merge commit '90215ce' into merge-2.11-to-2.12-june-1Lukas Rytz2016-06-014-82/+251
|\
| * SI-9789 use quadratic probing in OpenHashMapPerformant Data LLC2016-05-264-82/+251
| | | | | | | | | | | | | | | | | | | | | | | | The original probe sequence, taken from Python's hash table code, is exponential, jumping around in the hash table with poor memory locality. This replaces the probe algorithm with the more conventional quadratic probing. This also adds tests to the benchmarking code using AnyRef keys, which have pseudorandom hash codes (unlike Ints, whose hash code is simply the Int itself). The intensity of the benchmarking is reduced to make the tests complete within 9 hours, by removing unnecessary sampling.
* | Merge commit 'cba585d' into merge-2.11-to-2.12-june-1Lukas Rytz2016-06-017-0/+457
|\|
| * Enable full compiler optimizations in JMH benchmarking.Performant Data LLC2016-05-051-1/+1
| |
| * Address JMH benchmark reviewer's issues.Performant Data LLC2016-05-033-59/+61
| | | | | | | | | | Besides tweaks to the documentation, this tests smaller (25-element) maps, and rewrites OpenHashMapRunner in more idiomatic Scala.
| * Improve the OpenHashMapBenchmark run times.Performant Data LLC2016-05-031-7/+14
| | | | | | | | | | For the warm-up invocations, suppress setup and teardown that is only needed for the measurement iterations. Reduce the number of forks.
| * Add a JMH runner class to the library benchmark framework.Performant Data LLC2016-05-033-9/+167
| |
| * Benchmark the OpenHashMap memory usage.Performant Data LLC2016-05-034-11/+35
| | | | | | | | Also add sbteclipse to the benchmark project.
| * Add get() tests to OpenHashMap, reduce timing artifacts.Performant Data LLC2016-05-031-35/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to get a better exploration of the variance of tests in a limited time, I've reduced the number of measurement iterations and increased the number of forks. By sight, the measurement iterations seemed pretty consistent within a trial, whereas they would vary widely on occasional forks. I extended testing down to 50-entry maps, to explore the rise in service times that I was seeing at small scale. This is probably a timing artifact, from too-short invocations, since I'm using @Level.Invocation in the put() tests. To fix that, I enlarged the unit of testing, by creating multiple, sometimes thousands, of maps for the invocation to fill. This has also changed the test from filling a previously-filled map, to filling a new, but sufficiently sized map. The put()/remove() test now performs much worse (on a more realistic scenario). This also adds a couple tests for calling get() against a map that's been filled only with put()s, or with a mix of put() and remove().
| * Add a reference to Doug Lea's benchmarks.Performant Data LLC2016-05-031-1/+2
| |
| * Add JMH to the benchmark framework.Performant Data LLC2016-05-035-0/+156
| | | | | | | | Add an example benchmark for OpenHashMap.
* | Remove further references to forkjoinJason Zaugg2015-07-1586-64147/+0
|/ | | | | | | | | | | | | | | | | Use j.u.c.Forkjoin directly in active and disabled tests Remove bitrotted benchmarks code I was going to update these to use `java.util.concurrent.ForkJoin` directly, instead of our deprecated stubs. But most of them don't compile anymore (e.g. scala.testing.Benchmark has been removed, ClassTag imports missing). While I'm all for benchmarks, we should have large swathes of code checked in that isn't at compiled and run automatically. I'm happy to help someone resurrect these in a suitable form.
* Merge pull request #4589 from janekdb/2.11.x-method-names-m-oJason Zaugg2015-06-291-3/+3
|\ | | | | Improve method names (m-o)
| * Improve method names (m-o)Janek Bogucki2015-06-281-3/+3
| |
* | Fix 23 typos (m-o)Janek Bogucki2015-06-281-2/+2
|/
* Fix many typos in docs and commentsmpociecha2014-12-141-1/+1
| | | | | | | | | | | | | This commit corrects many typos found in scaladocs, comments and documentation. It should reduce a bit number of PRs which fix one typo. There are no changes in the 'real' code except one corrected name of a JUnit test method and some error messages in exceptions. In the case of typos in other method or field names etc., I just skipped them. Obviously this commit doesn't fix all existing typos. I just generated in IntelliJ the list of potential typos and looked through it quickly.
* migrates stdlib and compiler to tagsEugene Burmako2012-04-232-17/+17
| | | | | * all usages of ClassManifest and Manifest are replaced with tags * all manifest tests are replaced with tag tests
* Range.foreach optimization.Paul Phillips2011-12-121-0/+61
| | | | | | | | | | | This makes code like 0 to 100 foreach (x += _) as fast as (often faster than, in fact) a while loop. See the comment in Range for the gory details. More investigation should be done regarding total impact on inlining behavior. Review by @odersky.
* Begone t1737...Hubert Plociniczak2011-11-0273-477/+477
|
* Refinement of murmurhash implementation.Paul Phillips2011-09-081-68/+80
| | | | | | Integrates recent speed improvements to algorithm. Contributed by Ruediger Keller, no review.
* Sped up traversal over mutable maps by a factor...Paul Phillips2011-08-011-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sped up traversal over mutable maps by a factor of two. There was this comment in HashTable explaining why foreach was implemented in terms of iterator. /* * We should implement this as a primitive operation over the * underlying array, but it can cause a behaviour change in edge cases * where: * - Someone modifies a map during iteration * - The insertion point is close to the iteration point. */ Item 1: foreach and iterator didn't behave the same if the map was mutated in the midst of the traversal anyway. Item 2: protecting some particular undefinition of inherently undefined behavior is a pretty unconvincing reason to impose a 2x penalty on foreach. Here are the before/after times for traversing the keys with foreach vs. with iterator. Same impact on values and on the map itself. The benchmark code is included in this commit. before: foreach 143700900 iterator 143848900 after: foreach 67024400 iterator 144890300 Respecting the fact that this might be causing some behavior somewhere to change, even though it would be pretty sick to be relying upon it, ** ATTENTION! POSSIBLE BEHAVIOR CHANGE! ** Review by dragos.
* Merge branch 'work'Aleksandar Pokopec2011-01-266-0/+61
| | | | | | Conflicts: src/library/scala/concurrent/SyncVar.scala
* A new murmur3 hashcode implementation contribut...Paul Phillips2011-01-251-0/+241
| | | | | | | | | | | | | A new murmur3 hashcode implementation contributed by rex kerr. I'm really happy with it. There is benchmarking code included but you can use the pudding for proof: the compiler compiling itself is clearly faster. I deleted the existing murmur2 implementation which has never left trunk in a release. There remain some possible points of improvement with inlining and/or synthetic method generation, but this is a major improvement over the status quo. Closes #2537, review by prokopec.
* Merge branch 'work'Aleksandar Pokopec2011-01-121-4/+6
|
* Enabled parallel group by.Aleksandar Pokopec2011-01-101-0/+1
| | | | | No review.
* Test case change.Aleksandar Pokopec2011-01-071-1/+1
| | | | | No review
* Implemented a (slower) workaround for parallel ...Aleksandar Pokopec2011-01-076-31/+163
| | | | | | | | Implemented a (slower) workaround for parallel vectors. Implemented group by. No review.
* Changed foreach to pforeach.Aleksandar Pokopec2011-01-075-12/+12
| | | | | No review.
* Bencharking a larger program with parallel coll...Aleksandar Pokopec2010-12-216-1/+58278
| | | | | | | | | Bencharking a larger program with parallel collections. Fixed a couple of bugs in parallel collections. No review.
* A minor update in a benchmark.Aleksandar Pokopec2010-12-211-1/+2
| | | | | No review.
* Made parallel collections serializable.Aleksandar Pokopec2010-12-097-7/+7
| | | | | No review.
* Array combiners implementation changed from arr...Aleksandar Pokopec2010-12-094-0/+60
| | | | | | | | | Array combiners implementation changed from array buffers to doubling unrolled buffers to avoid excessive copying. Still evaluating the benefits of this. No review.
* Fixed parallel ranges to use the same range log...Aleksandar Pokopec2010-12-092-3/+6
| | | | | | | | | | Fixed parallel ranges to use the same range logic under the hood, and not introduce code duplication. Slight fix in Tasks. No review.
* Fixing jvm 1.5 support for parallel collections.Aleksandar Pokopec2010-12-098-9/+9
| | | | | | | | | | | | | | | | | | Special cased with thread pool executor scheduling. Fixed an ugly concurrency bug where futures returned by a thread pool executor didn't remove the task from the queue when cancel was called. Note to self and others: don't cancel futures returned by thread pool executors, it might lead to unexpected behaviour. Modified the executor to add new threads if all the active threads are syncing, in order to avoid deadlocks. Fixed a hidden bug in AdaptiveWorkStealingTasks, where correct behaviour depended on the execution order of the tasks. This didn't fail before with ForkJoinTasks, since there the execution order is well-defined. Scalachecked 1.5 & 1.6 support. No review.
* Benchmarking parallel sets.Aleksandar Pokopec2010-11-103-3/+12
| | | | | No review.
* Added a benchmark for mutable hash sets.Aleksandar Pokopec2010-11-102-0/+145
| | | | | No review.
* To fix the failing nightly.Aleksandar Pokopec2010-11-101-0/+4
| | | | | No review.
* Performance bug in hash table splitter fixed, ...Aleksandar Pokopec2010-10-286-9/+88
| | | | | | | | | | Performance bug in hash table splitter fixed, where size map was not used and all the elements were counted instead. Performance tests now pass. No review
* Added hash table benchmarks.Aleksandar Pokopec2010-10-284-6/+161
| | | | | No review.
* Two hashcode-related failing tests fixed.Aleksandar Pokopec2010-10-281-1/+1
| | | | | No review.
* Fixed ParSeqView, added Patched and Reversed.Aleksandar Pokopec2010-09-242-0/+22
|
* Adds a zip for ParIterables + a new Zipped view...Aleksandar Pokopec2010-09-234-0/+25
| | | | | | Adds a zip for ParIterables + a new Zipped view for ParSeqView and ParIterableView + a bench test. No review
* Reimplementing parallel views to solve several ...Aleksandar Pokopec2010-09-227-69/+157
| | | | | | Reimplementing parallel views to solve several performance glitches. No review.
* Refactorings to make iterators required by task...Aleksandar Pokopec2010-09-171-1/+1
| | | | | | Refactorings to make iterators required by task objects less restricted. No review
* Improved parallel scan performance further.Aleksandar Pokopec2010-09-141-1/+1
|
* Improving parallel scan. No reviewAleksandar Pokopec2010-09-131-4/+10
|
* Added scalacheck folder, scalacheck source upda...Aleksandar Pokopec2010-08-314-1/+60
| | | | | | | | | | | | | Added scalacheck folder, scalacheck source update script, and scalacheck ant tasks. Build process will now generate a scalacheck jar in the build/pack/lib directory. It generates it from the scalacheck source in the src/scalacheck dir. If the source there gets out of date, it is to be updated manually using the tools/updatescalacheck script. Review by phaller.
* Fix for last commit.Aleksandar Pokopec2010-07-281-1/+1
|