Rate counter: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: changed output scaling.) |
(Major refactoring done to exhibit java.util.stream usage) |
||
Line 660: | Line 660: | ||
{{trans|JavaScript}} |
{{trans|JavaScript}} |
||
{{works with|Java|8}} |
{{works with|Java|8}} |
||
<lang java>import java.util.function. |
<lang java>import java.util.function.IntConsumer; |
||
import java.util.stream.DoubleStream; |
|||
import static java.lang.System.nanoTime; |
|||
⚫ | |||
import static java.util.stream.DoubleStream.generate; |
|||
import static java.lang.System.out; |
|||
⚫ | |||
for (double d : benchmark(10, x -> System.out.print(""), 10)) |
|||
System.out.println(d); |
|||
⚫ | |||
⚫ | |||
static double[] benchmark(int n, Consumer<Integer> f, int arg) { |
|||
⚫ | |||
double[] timings = new double[n]; |
|||
benchmark( |
|||
for (int i = 0; i < n; i++) { |
|||
10, |
|||
⚫ | |||
x -> out.print(""), |
|||
10 |
|||
⚫ | |||
) |
|||
.forEach(out::println) |
|||
; |
|||
} |
|||
public static DoubleStream benchmark( |
|||
final int n, |
|||
final IntConsumer consumer, |
|||
final int argument |
|||
) { |
|||
return generate(() -> { |
|||
⚫ | |||
consumer.accept(argument); |
|||
⚫ | |||
⚫ | |||
.limit(n) |
|||
; |
|||
} |
|||
}</lang> |
}</lang> |
||
<pre> |
<pre>81431.0 |
||
3987.0 |
|||
3205.0 |
|||
3081.0 |
|||
3020.0 |
|||
3101.0 |
|||
3040.0 |
|||
3102.0 |
|||
3072.0 |
|||
3060.0</pre> |
|||
=={{header|JavaScript}}== |
=={{header|JavaScript}}== |