Skip to content

Instantly share code, notes, and snippets.

@kanaka
Last active July 17, 2018 00:34
Show Gist options
  • Save kanaka/fdef20f5d0c2e04b97d9106b2f2f23d0 to your computer and use it in GitHub Desktop.
Save kanaka/fdef20f5d0c2e04b97d9106b2f2f23d0 to your computer and use it in GitHub Desktop.
mal implementation LOC/file size stats
* Full stats
for i in $(make print-IMPLS); do s=$(make stats^$i | grep total); printf "%-9s %s\n" "$i" "$s"; done | sort -n -k2
mal 306 983 7627 total
factor 427 2669 14164 total
clojure 429 1424 12248 total
hy 456 1982 15365 total
perl6 504 2168 16202 total
ruby 510 1637 14189 total
es6 557 2259 17682 total
coffee 558 2176 16707 total
io 580 2106 19301 total
racket 584 2106 18583 total
picolisp 652 2971 23034 total
ocaml 656 4047 26908 total
julia 657 1720 15820 total
groovy 704 2393 20852 total
python 716 2173 21200 total
fantom 746 2889 24963 total
nim 761 2652 21880 total
skew 781 3330 25506 total
elixir 783 2425 20791 total
r 866 2479 23435 total
guile 875 3696 28945 total
elisp 880 3176 30751 total
miniMAL 955 3450 33261 total
scala 957 3358 27025 total
powershell 969 2869 24511 total
js 1009 3386 28993 total
haskell 1033 4683 31713 total
lua 1033 3006 26241 total
scheme 1033 3490 34963 total
vimscript 1076 2995 27706 total
php 1089 3505 31805 total
dart 1106 3565 31389 total
yorick 1137 3945 30080 total
crystal 1139 3094 27295 total
perl 1149 3790 31235 total
gnu-smalltalk 1192 5037 35937 total
logo 1193 4100 27800 total
matlab 1201 3176 37471 total
haxe 1209 3408 36746 total
rpython 1211 3586 35977 total
rust 1215 3650 33480 total
tcl 1218 3957 30975 total
fsharp 1240 6103 45458 total
common-lisp 1248 3803 44660 total
swift3 1286 4560 41482 total
cs 1325 4427 48157 total
objc 1362 4090 39340 total
rexx 1368 5211 39787 total
erlang 1372 5067 42816 total
ts 1383 4232 43348 total
bash 1426 3847 34172 total
d 1500 3982 38154 total
ps 1512 6545 41526 total
go 1641 5094 35083 total
vb 1654 5510 62065 total
java 1677 5322 56927 total
forth 1698 7202 47394 total
make 1750 6749 70649 total
cpp 1818 4643 45895 total
kotlin 1874 7441 68931 total
objpascal 1913 5074 46097 total
basic 2094 6202 52558 total
vhdl 2109 8065 72753 total
awk 2314 8534 65020 total
plpgsql 2378 8622 73196 total
c 2428 7239 76587 total
plsql 2618 8871 79273 total
livescript 2766 9842 78787 total
chuck 2876 6766 64993 total
swift 2923 12574 105258 total
elm 3026 8471 79028 total
ada 4891 14403 139126 total
nasm 10204 33697 271552 total
* Lisp only stats
for i in $(make print-IMPLS); do s=$(make stats-lisp^$i | grep total); printf "%-9s %s\n" "$i" "$s"; done | sort -n -k2
factor 272 1863 9585 total
coffee 285 1123 8862 total
es6 290 1285 9927 total
perl6 296 1372 10465 total
ruby 299 1092 9100 total
mal 306 983 7627 total
hy 323 1439 10838 total
clojure 326 1072 9204 total
racket 336 1242 10717 total
skew 334 1561 12943 total
io 349 1298 11932 total
fantom 347 1324 12706 total
picolisp 382 2045 15351 total
groovy 389 1516 12177 total
julia 391 1180 10211 total
python 398 1165 11451 total
miniMAL 411 1517 14982 total
ocaml 433 2855 19069 total
powershell 444 1600 13006 total
r 445 1276 11907 total
nim 459 1488 12693 total
js 514 1635 14562 total
guile 544 2327 17982 total
make 548 1887 21136 total
vimscript 553 1695 16033 total
scheme 561 2163 22022 total
php 562 1914 16962 total
elisp 565 2263 21931 total
lua 569 1690 14708 total
elixir 593 1877 15625 total
scala 596 2087 16942 total
matlab 606 1686 19506 total
perl 617 2136 17757 total
haskell 635 3200 21410 total
dart 638 2371 21048 total
gnu-smalltalk 648 3190 22050 total
ps 683 3098 19461 total
yorick 686 2475 19776 total
objc 691 2320 22498 total
fsharp 691 3414 25433 total
forth 692 2834 18261 total
haxe 693 2084 22102 total
chuck 700 1816 17471 total
rpython 708 2112 21520 total
logo 716 2452 17216 total
cs 737 2398 26499 total
livescript 764 2811 22910 total
common-lisp 773 2445 29371 total
rust 781 2386 22284 total
tcl 792 2635 20837 total
bash 794 2210 19627 total
d 798 2189 22014 total
ts 800 2657 28334 total
crystal 810 2277 20250 total
swift3 825 2959 27315 total
rexx 860 3232 25657 total
vb 912 3055 34605 total
cpp 937 2390 24331 total
erlang 981 3729 30509 total
java 989 3142 33955 total
go 1000 3331 22929 total
c 1010 3237 31839 total
plpgsql 1066 3426 33045 total
objpascal 1073 3032 27559 total
kotlin 1188 4747 44035 total
plsql 1222 4076 39047 total
vhdl 1249 4741 45177 total
basic 1368 3868 34173 total
swift 1517 6619 54027 total
awk 1852 7206 54635 total
ada 2111 5834 60080 total
elm 2380 6792 66190 total
nasm 6211 19715 164590 total
* Perf stats
Patched travis: https://github.com/travis-ci/travis.rb/issues/578#issuecomment-393004007
BUILD=882
CNT=85
mkdir logs/${BUILD}
for x in $(seq 1 ${CNT}); do echo ${BUILD}/${x}; travis logs ${BUILD}.${x} > logs/${BUILD}/${x}; done
for l in $(ls -v logs/${BUILD}/*); do echo $(egrep "export IMPL|export .*_MODE|Elapsed|iters" $l); done | sed 's/^. export IMPL=//' | sed 's/ $ export [^ ]*_MODE=\([^ ]*\) /(\1) /' | sed 's/"Elapsed time: //' | sed 's/ msecs" "Elapsed time://' | sed 's/ msecs" iters over 10 seconds://' | sed 's/ msecs"//' | while read impl p1 p2 p3; do printf "%-20s % 8.0f % 8.0f %8.0f\n" $impl $p1 $p2 $(echo $p3 | bc); done | sort -rnk4
perf1 perf2 perf3
macros math macros
ms ms iters (10s)
rpython 0 1 61063
java 6 30 58779
fantom 24 41 37540
kotlin 18 72 33640
nim 0 1 32550
scala 51 72 32150
factor 1 2 26209
nasm 0 3 23263
ocaml 0 1 21842
crystal 0 1 21513
fsharp 34 33 18866
c 0 2 17068
d 1 2 15677
cpp 0 1 15145
common-lisp 1 2 14826
rust 0 2 14810
haxe(cpp) 1 3 13836
cs 12 11 13315
go 1 4 10454
vb 11 11 10001
es6 6 17 7918
picolisp 2 7 5990
swift 2 6 5667
ts 8 19 5362
livescript 13 24 4659
racket 2 7 4603
haskell 2 8 4392
guile 2 8 4203
ruby 2 8 3997
skew 6 11 3809
js 6 10 3719
vhdl 3 9 3116
coffee 6 12 2981
objpascal 3 11 2835
julia 263 36 2734
scheme(chicken) 5 16 2591
clojure(clj) 23 71 2367
forth 5 17 2278
haxe(js) 6 13 2165
haxe(neko) 7 26 1487
objc 10 22 1479
scheme(cyclone) 8 31 1420
objc 7 23 1351
clojure(cljs) 55 143 1292
php 8 29 1257
python(python3) 7 30 1238
haxe(python) 9 35 1182
swift3 9 29 1126
ada 9 27 1083
lua 10 44 929
python(python2) 13 42 892
basic(qbasic) 11 48 887
gnu-smalltalk 14 41 842
perl 13 46 792
elixir 14 62 711
scheme(sagittarius) 12 59 704
awk 13 47 690
scheme(gauche) 24 95 592
swift3 17 83 581
hy 18 68 572
scheme(kawa) 58 175 559
dart 16 42 540
elisp 15 72 537
tcl 26 102 356
elm 61 193 341
groovy 459 695 340
ps 37 269 202
scheme(chibi) 50 225 184
erlang 56 191 150
yorick 67 292 143
chuck 48 110 122
r 92 357 102
rexx 153 659 62
vimscript 229 1064 43
io 394 1441 26
perl6 459 1294 20
plpgsql 481 4030 19
mal 588 2876 16
miniMAL 1365 5213 7
powershell 2055 8030 5
matlab 1717 6963 5
basic(cbm) 1784 7400 5
bash 2156 9769 4
make 5809 35480 1
logo 18957 50612 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment