blob: 6c024eab7a436be45ef112969069c7a91b5d3481 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
/* __ *\
** ________ ___ / / ___ Scala benchmark suite **
** / __/ __// _ | / / / _ | (c) 2003-2004, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
** $Id$
\* */
package benchmarks;
/** Quick-sort a list of integers, version 2. Taken from the
Scala distribution examples. */
class Sorter {
def sort(a: List[Int]): List[Int] = {
if (a.length < 2)
a
else {
val pivot = a(a.length / 2);
def lePivot(x: Int) = x < pivot;
def gtPivot(x: Int) = x > pivot;
def eqPivot(x: Int) = x == pivot;
sort(a filter lePivot)
::: sort(a filter eqPivot)
::: sort(a filter gtPivot)
}
}
}
object sort2 extends Sorter with scala.testing.Benchmark {
def run: Unit = sort(List.range(1,10000));
}
|