Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
This page demonstrates the performance of LinqOptimizer in C# and F# compared to the Linq and F# Seq implementations respectively. In the benchmarks we used :
CLR/.NET 4.5.1version on a Windows Server 2012 R2 machine.
Mono JIT compiler 3.2.3on a openSUSE 12.3 machine using the sgen garbage collector.
- The machine used is a Windows Azure VM of Extra Large size (8 cores, 14GB memory).
LinqOptimizer 0.5.2development version.
In the following benchmarks we compare:
- The sequential/parallel Linq implementation in C#, with the sequential/parallel LinqOptimizer implementation.
- The sequential F# Seq implementation with the sequential LingOptimizer F# implementation, and the PLinq in F# with the parallel LinqOptimizer F#.
The source code of the benchmarks can be found in the benchmarks branch.
- Sum. Compute the sum 200,000,000 random floating point values.
- Sum of squares. Compute the sum the squares of 200,000,000 random floating point values.
- Cartesian product. Compute the cartesian product of 20,000,000 * 20 random floating point values.
- Group by. Group 20,000,000 numbers into 200,000 groups and return the number of values that belong to each group.
- Pythagorean triples. Compute the number of Pythegorean triples bellow 1,000.
* The sequential Linq GroupBy test in mono failed to complete in reasonable time.