49
|
1 |
|
|
2 |
// measures the time a function needs
|
|
3 |
def time_needed[T](i: Int, code: => T) = {
|
|
4 |
val start = System.nanoTime()
|
|
5 |
for (j <- 1 to i) code
|
|
6 |
val end = System.nanoTime()
|
|
7 |
(end - start)/(i * 1.0e9)
|
|
8 |
}
|
|
9 |
|
|
10 |
|
|
11 |
for (i <- 1 to 10001 by 300) {
|
|
12 |
val re = ("((a?){" + i + "})(a{" + i + "})")
|
|
13 |
println(i + " " + "%.5f".format(time_needed(1, ("a" * i).matches(re))))
|
|
14 |
}
|
|
15 |
|
|
16 |
|
|
17 |
|