forked from andreaferretti/kmeans
-
Notifications
You must be signed in to change notification settings - Fork 0
/
results
63 lines (56 loc) · 1.59 KB
/
results
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
setup
=====
single thread
100000 points
10 clusters
15 iterations
average over 100 repetitions
results
=======
nim (0.10.3) 151 ms
java (1.7.0_76) 183 ms
common lisp (sbcl 1.1.14) 204 ms
c (gcc 4.8.2) 218 ms
kotlin (0.10.195) 243 ms
julia (0.4.0-dev+3052) 266 ms
rust (1.0.0-nightly) 267 ms
go (1.4.2) 491 ms
pypy (2.5.0) 563 ms
java8 (1.8.0_31) 565 ms
luajit (2.0.2) 611 ms
scala (2.10.4) 633 ms
ocaml (4.02.1) 796 ms
x10-c++ (2.5.2) 1436 ms
chapel (1.10) 1564 ms **
haskell (ghc 7.8.4) 1663 ms *
clojure (1.7.0-alpha5) 2504 ms
x10-java (2.5.2) 2720 ms
factor (0.97) 2895 ms
elixir (1.0.3) 3949 ms
erlang (R17) 4536 ms
io.js (1.4.3) 5241 ms
d (2.066.1) 5403 ms
node (0.12.0) 5547 ms
lua (5.2.3) 6946 ms
ocaml bytecode (4.02.1) 8021 ms
python (2.7.6) 10632 ms
pharo (3) 11170 ms
rubinius (2.5.2) 20878 ms
ruby (1.9.3p484) 24819 ms
* I am not able to run this 100 times without the runtime caching the result. Any help is appreciated.
** Chapel runs by default on two cores, I am not sure how to benchmark a single-thread version.
expected result
===============
To check that an implementation is correct, one can print the list of
centroids just before the last iteration. The expected list (checked
across all languages) is:
(1.0084564757347625,2.2868123889219047)
(1.5309869001400929,0.7852174204702566)
(1.6894738051930507,1.7278381134195009)
(2.47790984305693,1.945630722483613)
(2.316742530156974,2.8586899252009443)
(1.4688362327217774,0.2078953628686833)
(2.2019938378105004,1.3767916116287988)
(0.8322035175020596,1.6266582764165047)
(2.035067805355936,0.36068184317747537)
(1.918441639829494,2.2623855839482294)