Skip to content

r1

Choose a tag to compare

@acheronfail acheronfail released this 23 Dec 10:09
· 4 commits to master since this release

This was run on:

  • Tue 23 Dec 2025 10:09:36 UTC
  • Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
  • Arch Linux (6.12.63-1-lts)
  • Running in Single User Mode
Execution time Binary size1 Max Memory Usage
# name mean
1 assembly 234.93116ms
2 c-gcc 235.11304ms
3 c-clang 235.22636ms
4 rust 235.67078ms
5 vala 243.57438ms
6 go 243.83863ms
7 fortran 244.17057ms
8 cpp-clang 244.79937ms
9 zig 245.06715ms
10 cpp-gcc 245.68646ms
11 nim 246.20307ms
12 swiftc 247.21663ms
13 bun 249.02891ms
14 pony 283.03917ms
15 java 284.02779ms
16 csharp 292.00851ms
17 kotlin 302.50898ms
18 deno 303.39329ms
19 csharp-native 314.87875ms
20 node 417.13272ms
21 coffeescript 470.76358ms
22 scala 661.10531ms
23 pascal 834.10755ms
24 erlang 2.38423s
25 crystal 2.58005s
26 php 3.58302s
27 lua 3.75523s
28 ocaml 3.80457s
29 forth 5.32027s
30 ruby 8.29236s
31 haskell 11.99170s
32 swift 17.68221s
33 cobol 18.17931s
34 perl 26.99107s
35 python3 55.35151s
36 smalltalk 1.69787m
37 prolog 1.95141m
38 julia 9.39754m
39 tcl 13.09610m

binary:

# name size
1 assembly 247.0000000 B
2 cobol 14.5120000 kB
3 c-gcc 15.4800000 kB
4 c-clang 15.4880000 kB
5 vala 15.5280000 kB
6 cpp-clang 15.8720000 kB
7 cpp-gcc 15.9440000 kB
8 fortran 16.0880000 kB
9 swiftc 22.0000000 kB
10 nim 154.8160000 kB
11 pony 186.5120000 kB
12 prolog 228.9610000 kB
13 pascal 513.8720000 kB
14 zig 925.9200000 kB
15 go 2.3255750 MB
16 haskell 2.4991920 MB
17 rust 3.8813040 MB
18 csharp-native 64.2620110 MB

bytecode:

# name size
1 java 517.0000000 B
2 erlang 876.0000000 B
3 scala 1.7150000 kB
4 csharp 3.0720000 kB
5 kotlin 5.1252460 MB
# name rss
1 assembly 16.3840000 kB
2 zig 57.3440000 kB
3 pascal 536.5760000 kB
4 c-clang 1.8145280 MB
5 c-gcc 1.8145280 MB
6 nim 2.2159360 MB
7 rust 2.2773760 MB
8 fortran 2.6869760 MB
9 lua 2.8467200 MB
10 vala 3.1662080 MB
11 forth 3.2235520 MB
12 cpp-clang 3.7969920 MB
13 cpp-gcc 3.8379520 MB
14 perl 6.7133440 MB
15 tcl 7.0164480 MB
16 go 7.6103680 MB
17 swiftc 9.9655680 MB
18 smalltalk 10.3587840 MB
19 haskell 10.3956480 MB
20 cobol 10.8953600 MB
21 python3 11.2148480 MB
22 ruby 12.8000000 MB
23 prolog 13.3447680 MB
24 ocaml 13.4635520 MB
25 csharp 18.5835520 MB
26 php 26.5297920 MB
27 csharp-native 30.0236800 MB
28 pony 36.1922560 MB
29 bun 41.6317440 MB
30 node 47.6200960 MB
31 coffeescript 50.2824960 MB
32 deno 62.0666880 MB
33 erlang 69.0831360 MB
34 java 92.8194560 MB
35 kotlin 96.5263360 MB
36 swift 126.4967680 MB
37 scala 262.0088320 MB
38 crystal 332.9556480 MB
39 julia 398.0902400 MB
  • 1: only includes compiled files (i.e., does not include runtimes or libraries required for execution)
name cycles instructions
zig 1000081507 2000002036
assembly 1000115686 2000000262
c-gcc 1000336938 2000125512
nim 1000381907 2000180554
c-clang 1000387317 2000124688
rust 1000428068 2000305214
go 1000894815 2500559881
fortran 1000909415 2000694641
vala 1000989774 2000914459
cpp-gcc 1001734059 2002550138
cpp-clang 1001753406 2002548758
swiftc 1003950221 2005282102
bun 1028969639 2034044173
java 1057005020 3062802568
csharp-native 1077431120 2116158836
pony 1082629337 2149494942
csharp 1097851882 4112951125
deno 1156207036 2674473716
kotlin 1169001706 3245556370
node 1562571950 4602919059
coffeescript 1742859986 4896510094
scala 3176874411 5510428433
pascal 3370394467 3500081174
erlang 6489723445 17970131737
crystal 9986821653 13288280397
php 13445639198 37035445748
lua 14025765065 55001538510
ocaml 14381860791 58777263624
forth 21094834187 31010416459
ruby 30363304566 87698967430
haskell 44005958150 121976533543
swift 65206804705 193991649565
cobol 67914456307 248008405636
perl 100106683020 315502107024
python3 206283140413 674051617414
smalltalk 389142131156 1082005716574
prolog 402689381403 1209441005698
julia 1995246619233 5869376792526
tcl 2791805787523 6977562869974

Note that cycles are counted with perf and are only estimates of the actual CPU cycles used, as this can vary.

name command version
assembly ./count 1000000000 NASM version 3.01 compiled on Oct 13 2025
bun bun run count.js 1000000000 1.3.3
c-clang ./count 1000000000 clang version 21.1.6
c-gcc ./count 1000000000 gcc (GCC) 15.2.1 20251112
cobol ./count 1000000000 cobc (GnuCOBOL) 3.2.0
coffeescript node /usr/bin/coffee ./count.coffee 1000000000 CoffeeScript version 2.7.0
cpp-clang ./count 1000000000 clang version 21.1.6
cpp-gcc ./count 1000000000 g++ (GCC) 15.2.1 20251112
crystal crystal run ./count.cr -- 1000000000 Crystal 1.18.2 (2025-10-21) LLVM: 21.1.6 Default target: x86_64-pc-linux-gnu
csharp mono ./count.exe 1000000000 Mono C# compiler version 6.12.0.0
Mono JIT compiler version 6.12.0 (makepkg/0cbf0e290c3 Sat Mar 9 11:37:33 UTC 2024)
csharp-native ./out/count 1000000000 10.0.100
deno deno run count.deno 1000000000 deno 2.6.2 (stable, release, x86_64-unknown-linux-gnu) v8 14.2.231.17-rusty typescript 5.9.2
erlang sh /usr/bin/erl -noshell -s count start 1000000000 28.2
forth gforth ./count.fth 1000000000 gforth 0.7.3
fortran ./count 1000000000 GNU Fortran (GCC) 15.2.1 20251112
go ./count 1000000000 go version go1.25.5 X:nodwarf5 linux/amd64
haskell ./count 1000000000 The Glorious Glasgow Haskell Compilation System, version 9.6.6
java java count 1000000000 javac 17.0.17
openjdk 17.0.17 2025-10-21
julia julia ./count.jl 1000000000 julia version 1.12.3
kotlin java -jar count.jar 1000000000 info: kotlinc-jvm 2.2.21 (JRE 17.0.17+10)
openjdk 17.0.17 2025-10-21
lua lua ./count.lua 1000000000 Lua 5.4.8 Copyright (C) 1994-2025 Lua.org, PUC-Rio
nim ./count 1000000000 Nim Compiler Version 2.0.8 [Linux: amd64]
node node count.js 1000000000 v22.13.1
ocaml ocaml ./count.ml 1000000000 The OCaml toplevel, version 5.4.0
pascal ./count 1000000000 3.2.2
perl perl ./count.pl 1000000000 This is perl 5, version 42, subversion 0 (v5.42.0) built for x86_64-linux-thread-multi
php php ./count.php 1000000000 PHP 8.5.1 (cli) (built: Dec 16 2025 18:26:57) (NTS)
pony ./count 1000000000 0.60.4-17b87bd70 [release]
Compiled with: LLVM 18.1.8 -- GNU-15.2.1-x86_64
Defaults: pic=true
prolog sh ./count 1000000000 SWI-Prolog version 10.0.0 for x86_64-linux
python3 python3 count.py 1000000000 Python 3.13.11
ruby ruby count.rb 1000000000 ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
rust ./count 1000000000 rustc 1.92.0 (ded5c06cf 2025-12-08)
scala bash /usr/bin/scala count 1000000000 Scala compiler version 2.13.16-20250225-154437-5a7c832 -- Copyright 2002-2025, LAMP/EPFL and Lightbend, Inc. dba Akka
Scala code runner version 2.13.16-20250225-154437-5a7c832 -- Copyright 2002-2025, LAMP/EPFL and Lightbend, Inc. dba Akka
smalltalk gst -f count.st 1000000000 GNU Smalltalk version 3.2.92-bf3fd4b5
swift swift ./count.swift 1000000000 Swift version 6.2.3 (swift-6.2.3-RELEASE)
Target: x86_64-unknown-linux-gnu
swiftc ./count 1000000000 Swift version 6.2.3 (swift-6.2.3-RELEASE)
Target: x86_64-unknown-linux-gnu
tcl tclsh ./count.tcl 1000000000 8.6
vala ./count 1000000000 Vala 0.56.18-dirty
zig ./count 1000000000 0.15.2