Skip to content

Instantly share code, notes, and snippets.

@jbcrail
Last active December 26, 2015 15:39
Show Gist options
  • Save jbcrail/7173955 to your computer and use it in GitHub Desktop.
Save jbcrail/7173955 to your computer and use it in GitHub Desktop.
Performance benchmarks for my Project Euler implementations on 32-bit Linux
joseph@crail:~/projects/private/project-euler$ ./euler run | sort -n -k4
clojure 006 25164150 0.001s
erlang 002 4613732 0.001s
erlang 005 232792560 0.001s
erlang 006 25164150 0.001s
erlang 013 5537376230 0.001s
erlang 016 1366 0.001s
erlang 020 648 0.001s
erlang 028 669171001 0.001s
erlang 065 272 0.001s
erlang 097 8739992577 0.001s
erlang 120 333082500 0.001s
c++ 003 6857 0.002s
c++ 006 25164150 0.002s
c++ 019 171 0.002s
c++ 020 648 0.002s
c++ 028 669171001 0.002s
c++ 063 49 0.002s
c++ 097 8739992577 0.002s
c++ 120 333082500 0.002s
clojure 002 4613732 0.002s
clojure 020 648 0.002s
clojure 028 669171001 0.002s
clojure 065 272 0.002s
haskell 005 232792560 0.002s
haskell 006 25164150 0.002s
haskell 008 40824 0.002s
haskell 016 1366 0.002s
haskell 020 648 0.002s
haskell 028 669171001 0.002s
haskell 063 49 0.002s
haskell 065 272 0.002s
haskell 097 8739992577 0.002s
haskell 120 333082500 0.002s
rust 028 669171001 0.002s
rust 063 49 0.002s
rust 065 272 0.002s
sml 028 669171001 0.002s
c++ 005 232792560 0.003s
c++ 009 31875000 0.003s
c++ 011 70600674 0.003s
c++ 016 1366 0.003s
c++ 025 4782 0.003s
c++ 026 983 0.003s
c++ 031 73682 0.003s
c++ 041 7652413 0.003s
c++ 042 162 0.003s
c++ 081 427337 0.003s
c++ 099 709 0.003s
c++ 119 248155780267521 0.003s
clojure 001 233168 0.003s
clojure 003 6857 0.003s
clojure 016 1366 0.003s
erlang 042 162 0.003s
erlang 099 709 0.003s
haskell 019 171 0.003s
rust 026 983 0.003s
rust 041 7652413 0.003s
rust 042 162 0.003s
sml 020 648 0.003s
c++ 053 4075 0.004s
clojure 041 7652413 0.004s
clojure 063 49 0.004s
clojure 120 333082500 0.004s
haskell 013 5537376230 0.004s
haskell 017 21124 0.004s
c++ 002 4613732 0.005s
c++ 012 76576500 0.005s
c++ 080 40886 0.005s
erlang 026 983 0.005s
erlang 102 228 0.005s
haskell 026 983 0.005s
rust 045 1533776805 0.005s
rust 047 134043 0.005s
c++ 045 1533776805 0.006s
erlang 008 40824 0.006s
erlang 188 95962097 0.006s
haskell 009 31875000 0.006s
c++ 057 153 0.007s
c++ 064 1322 0.007s
c++ 188 95962097 0.007s
erlang 041 7652413 0.007s
rust 048 9110846700 0.007s
c++ 022 871198282 0.008s
erlang 001 233168 0.008s
erlang 003 6857 0.008s
sml 002 4613732 0.008s
sml 048 9110846700 0.008s
c++ 004 906609 0.009s
erlang 022 871198282 0.009s
rust 064 1322 0.009s
sml 006 25164150 0.009s
erlang 080 40886 0.010s
haskell 048 9110846700 0.010s
rust 120 333082500 0.010s
clojure 097 8739992577 0.011s
python 001 233168 0.011s
python 002 4613732 0.011s
python 005 232792560 0.011s
python 006 25164150 0.011s
python 013 5537376230 0.011s
python 016 1366 0.011s
python 018 1074 0.011s
python 019 171 0.011s
python 020 648 0.011s
python 028 669171001 0.011s
rust 030 443839 0.011s
rust 046 5777 0.011s
c++ 008 40824 0.012s
c++ 056 972 0.012s
clojure 033 100 0.012s
python 003 6857 0.012s
python 008 40824 0.012s
python 011 70600674 0.012s
python 041 7652413 0.012s
python 057 153 0.012s
python 063 49 0.012s
python 120 333082500 0.012s
c++ 013 5537376230 0.013s
python 065 272 0.013s
python 097 8739992577 0.013s
rust 203 34029210557338 0.013s
python 042 162 0.014s
python 099 709 0.014s
ruby 013 5537376230 0.014s
ruby 063 49 0.014s
rust 052 142857 0.014s
c++ 047 134043 0.015s
c++ 055 249 0.015s
haskell 022 871198282 0.015s
haskell 188 95962097 0.015s
python 017 21124 0.015s
python 025 4782 0.015s
ruby 005 232792560 0.015s
ruby 011 70600674 0.015s
rust 055 249 0.015s
clojure 031 73682 0.016s
python 067 7273 0.016s
ruby 008 40824 0.016s
ruby 016 1366 0.016s
ruby 018 1074 0.016s
ruby 097 8739992577 0.016s
rust 056 972 0.016s
rust 099 709 0.016s
python 076 190569291 0.017s
ruby 006 25164150 0.017s
sml 003 6857 0.017s
python 081 427337 0.018s
python 102 228 0.018s
ruby 099 709 0.018s
c++ 065 272 0.019s
clojure 076 190569291 0.019s
ruby 067 7273 0.019s
c++ 017 21124 0.020s
c++ 062 127035954683 0.020s
clojure 119 248155780267521 0.020s
erlang 009 31875000 0.020s
ruby 065 272 0.020s
rust 062 127035954683 0.020s
python 022 871198282 0.021s
c++ 001 233168 0.022s
erlang 045 1533776805 0.022s
c++ 007 104743 0.023s
c++ 048 9110846700 0.023s
erlang 055 249 0.023s
python 026 983 0.023s
python 033 100 0.023s
ruby 102 228 0.023s
rust 119 248155780267521 0.023s
clojure 008 40824 0.024s
erlang 019 171 0.024s
haskell 053 4075 0.024s
ruby 020 648 0.024s
ruby 031 73682 0.024s
rust 097 8739992577 0.024s
clojure 013 5537376230 0.025s
ruby 009 31875000 0.025s
rust 025 4782 0.025s
ruby 076 190569291 0.026s
clojure 019 171 0.027s
python 009 31875000 0.027s
python 031 73682 0.027s
c++ 010 142913828922 0.028s
c++ 052 142857 0.028s
go 017 21124 0.029s
python 080 40886 0.030s
rust 006 25164150 0.030s
clojure 071 428570 0.031s
go 024 2783915460 0.031s
ruby 042 162 0.031s
c++ 112 1587000 0.032s
clojure 045 1533776805 0.032s
java 002 4613732 0.032s
java 028 669171001 0.032s
java 120 333082500 0.032s
python 059 107359 0.032s
java 001 233168 0.033s
java 003 6857 0.033s
java 006 25164150 0.033s
java 031 73682 0.033s
ruby 017 21124 0.033s
ruby 041 7652413 0.033s
clojure 017 21124 0.034s
java 008 40824 0.034s
java 016 1366 0.034s
java 065 272 0.034s
go 026 983 0.035s
java 005 232792560 0.035s
java 018 1074 0.035s
java 020 648 0.035s
java 026 983 0.035s
java 041 7652413 0.035s
java 097 8739992577 0.035s
java 119 248155780267521 0.035s
ruby 028 669171001 0.035s
sml 009 31875000 0.035s
python 024 2783915460 0.036s
clojure 042 162 0.037s
clojure 066 661 0.037s
haskell 007 104743 0.037s
java 009 31875000 0.037s
java 063 49 0.037s
c++ 021 31626 0.038s
java 047 134043 0.038s
python 012 76576500 0.038s
c++ 024 2783915460 0.039s
rust 024 2783915460 0.039s
clojure 009 31875000 0.040s
java 004 906609 0.040s
java 012 76576500 0.040s
java 045 1533776805 0.040s
python 053 4075 0.040s
ruby 003 6857 0.040s
java 013 5537376230 0.041s
ruby 004 906609 0.041s
sml 016 1366 0.042s
python 048 9110846700 0.043s
python 188 95962097 0.043s
ruby 081 427337 0.043s
go 007 104743 0.044s
ruby 012 76576500 0.044s
java 024 2783915460 0.045s
ruby 048 9110846700 0.045s
go 053 4075 0.046s
java 064 1322 0.046s
clojure 026 983 0.047s
go 099 709 0.047s
python 049 296962999629 0.047s
python 051 121313 0.047s
ruby 002 4613732 0.047s
c++ 039 840 0.048s
erlang 053 4075 0.048s
go 031 73682 0.048s
haskell 056 972 0.048s
python 203 34029210557338 0.048s
python 082 260324 0.049s
ruby 188 95962097 0.049s
haskell 003 6857 0.050s
rust 019 171 0.050s
rust 072 303963552391 0.050s
go 102 228 0.051s
java 055 249 0.051s
java 067 7273 0.051s
ruby 057 153 0.051s
rust 043 16695334890 0.051s
c++ 102 228 0.052s
c++ 203 34029210557338 0.052s
java 203 34029210557338 0.052s
java 022 871198282 0.053s
java 099 709 0.053s
go 081 427337 0.054s
go 005 232792560 0.055s
go 067 7273 0.055s
ruby 022 871198282 0.055s
rust 112 1587000 0.055s
c++ 072 303963552391 0.056s
clojure 080 40886 0.056s
erlang 056 972 0.056s
go 042 162 0.056s
rust 034 40730 0.056s
java 053 4075 0.057s
ruby 080 40886 0.057s
ruby 120 333082500 0.058s
rust 001 233168 0.058s
go 011 70600674 0.060s
go 119 248155780267521 0.060s
rust 020 648 0.060s
erlang 063 49 0.061s
go 013 5537376230 0.062s
rust 002 4613732 0.062s
clojure 011 70600674 0.063s
erlang 011 70600674 0.063s
haskell 001 233168 0.064s
go 009 31875000 0.065s
go 120 333082500 0.065s
haskell 002 4613732 0.065s
java 019 171 0.065s
c++ 034 40730 0.066s
c++ 043 16695334890 0.066s
clojure 022 871198282 0.066s
go 063 49 0.066s
python 054 376 0.066s
clojure 099 709 0.067s
rust 009 31875000 0.068s
python 010 142913828922 0.069s
ruby 203 34029210557338 0.069s
clojure 062 127035954683 0.070s
go 002 4613732 0.071s
rust 007 104743 0.071s
go 124 21417 0.072s
ruby 026 983 0.072s
rust 021 31626 0.072s
rust 022 871198282 0.072s
rust 039 840 0.072s
go 019 171 0.073s
go 028 669171001 0.074s
sml 025 4782 0.074s
erlang 048 9110846700 0.075s
go 018 1074 0.076s
python 045 1533776805 0.076s
go 004 906609 0.077s
go 022 871198282 0.077s
go 041 7652413 0.077s
go 008 40824 0.078s
go 037 748317 0.079s
go 016 1366 0.080s
erlang 064 1322 0.081s
go 059 107359 0.081s
c++ 125 2906969179 0.082s
go 035 55 0.082s
rust 008 40824 0.083s
go 065 272 0.084s
go 203 34029210557338 0.085s
python 021 31626 0.085s
rust 013 5537376230 0.085s
go 055 249 0.087s
go 020 648 0.088s
c++ 027 -59231 0.089s
go 039 840 0.089s
java 021 31626 0.089s
clojure 048 9110846700 0.090s
erlang 017 21124 0.091s
java 188 95962097 0.093s
go 012 76576500 0.094s
go 047 134043 0.094s
java 007 104743 0.094s
clojure 102 228 0.095s
rust 016 1366 0.096s
rust 037 748317 0.096s
go 076 190569291 0.098s
rust 188 95962097 0.098s
go 062 127035954683 0.100s
java 027 -59231 0.100s
c++ 046 5777 0.101s
go 045 1533776805 0.101s
go 001 233168 0.103s
go 097 8739992577 0.103s
python 037 748317 0.104s
python 047 134043 0.104s
haskell 025 4782 0.105s
python 124 21417 0.105s
sml 001 233168 0.105s
go 010 142913828922 0.106s
go 021 31626 0.106s
haskell 030 443839 0.107s
ruby 053 4075 0.108s
go 003 6857 0.110s
java 125 2906969179 0.110s
python 035 55 0.111s
python 064 1322 0.114s
go 064 1322 0.116s
go 188 95962097 0.116s
java 056 972 0.119s
c++ 037 748317 0.121s
rust 003 6857 0.123s
clojure 053 4075 0.124s
go 025 4782 0.125s
java 048 9110846700 0.125s
java 112 1587000 0.128s
go 056 972 0.130s
python 055 249 0.130s
go 048 9110846700 0.131s
go 006 25164150 0.132s
go 112 1587000 0.132s
ruby 062 127035954683 0.132s
clojure 089 743 0.133s
java 046 5777 0.135s
erlang 007 104743 0.136s
clojure 064 1322 0.137s
go 034 40730 0.137s
ruby 019 171 0.138s
rust 053 4075 0.141s
rust 004 906609 0.144s
go 080 40886 0.146s
c++ 030 443839 0.147s
rust 010 142913828922 0.147s
java 010 142913828922 0.148s
java 037 748317 0.148s
java 039 840 0.150s
ruby 021 31626 0.152s
java 035 55 0.156s
rust 012 76576500 0.156s
rust 027 -59231 0.156s
ruby 001 233168 0.157s
go 046 5777 0.162s
go 125 2906969179 0.165s
ruby 064 1322 0.165s
erlang 004 906609 0.166s
erlang 025 4782 0.168s
java 036 872187 0.182s
go 027 -59231 0.188s
ruby 055 249 0.189s
c++ 123 21035 0.197s
rust 023 4179871 0.197s
c++ 035 55 0.206s
rust 080 40886 0.206s
rust 092 8581146 0.208s
go 072 303963552391 0.210s
haskell 004 906609 0.210s
rust 035 55 0.210s
c++ 036 872187 0.217s
rust 125 2906969179 0.217s
scala 006 25164150 0.224s
scala 028 669171001 0.225s
scala 097 8739992577 0.225s
scala 120 333082500 0.225s
scala 016 1366 0.227s
ruby 045 1533776805 0.228s
scala 003 6857 0.230s
scala 013 5537376230 0.230s
java 043 16695334890 0.231s
java 123 21035 0.232s
scala 002 4613732 0.232s
go 052 142857 0.233s
java 034 40730 0.235s
go 057 153 0.237s
scala 063 49 0.237s
scala 004 906609 0.239s
clojure 037 748317 0.246s
scala 020 648 0.247s
go 030 443839 0.248s
python 062 127035954683 0.251s
scala 009 31875000 0.254s
rust 069 510510 0.264s
go 036 872187 0.270s
c++ 023 4179871 0.275s
haskell 123 21035 0.290s
rust 070 8319823 0.295s
python 052 142857 0.297s
rust 123 21035 0.306s
python 046 5777 0.308s
go 123 21035 0.318s
scala 048 9110846700 0.318s
scala 022 871198282 0.334s
python 056 972 0.339s
ruby 025 4782 0.347s
go 073 7295372 0.359s
rust 036 872187 0.361s
scala 056 972 0.363s
ruby 036 872187 0.384s
rust 044 5482660 0.387s
clojure 007 104743 0.388s
rust 073 7295372 0.394s
c++ 206 1389019170 0.401s
scala 019 171 0.403s
python 125 2906969179 0.412s
scala 125 2906969179 0.413s
python 007 104743 0.416s
java 044 5482660 0.419s
c++ 073 7295372 0.421s
python 036 872187 0.436s
clojure 058 26241 0.439s
erlang 123 21035 0.468s
scala 010 142913828922 0.468s
go 074 402 0.472s
java 030 443839 0.494s
clojure 046 5777 0.509s
python 004 906609 0.513s
ruby 047 134043 0.521s
rust 206 1389019170 0.521s
go 044 5482660 0.525s
c++ 092 8581146 0.530s
ruby 007 104743 0.532s
ruby 046 5777 0.538s
clojure 021 31626 0.540s
java 025 4782 0.553s
c++ 070 8319823 0.581s
clojure 188 95962097 0.588s
c++ 044 5482660 0.590s
java 206 1389019170 0.634s
clojure 056 972 0.644s
python 072 303963552391 0.650s
rust 187 17427258 0.677s
erlang 112 1587000 0.691s
ruby 056 972 0.694s
scala 001 233168 0.705s
ruby 037 748317 0.710s
erlang 030 443839 0.725s
scala 037 748317 0.733s
scala 025 4782 0.773s
haskell 036 872187 0.774s
scala 035 55 0.775s
go 092 8581146 0.780s
ruby 010 142913828922 0.800s
sml 206 1389019170 0.801s
ruby 035 55 0.802s
c++ 187 17427258 0.829s
python 027 -59231 0.834s
clojure 030 443839 0.871s
clojure 077 71 0.883s
ruby 125 2906969179 0.883s
go 206 1389019170 0.929s
go 187 17427258 0.954s
python 038 932718654 1.009s
scala 012 76576500 1.014s
go 070 8319823 1.023s
java 023 4179871 1.083s
go 014 837799 1.095s
ruby 030 443839 1.187s
ruby 123 21035 1.197s
haskell 010 142913828922 1.373s
clojure 073 7295372 1.393s
python 123 21035 1.401s
clojure 004 906609 1.437s
python 014 837799 1.461s
erlang 012 76576500 1.495s
ruby 112 1587000 1.562s
ruby 034 40730 1.578s
haskell 012 76576500 1.609s
ruby 024 2783915460 1.609s
python 030 443839 1.611s
go 023 4179871 1.621s
rust 014 837799 1.737s
python 112 1587000 1.776s
ruby 072 303963552391 1.793s
c++ 014 837799 1.796s
rust 179 986262 1.819s
haskell 206 1389019170 1.820s
clojure 124 21417 1.983s
clojure 027 -59231 2.006s
clojure 112 1587000 2.030s
ruby 052 142857 2.091s
c++ 145 608720 2.117s
clojure 036 872187 2.119s
c++ 179 986262 2.234s
erlang 036 872187 2.319s
ruby 014 837799 2.426s
go 069 510510 2.443s
ruby 027 -59231 2.451s
clojure 024 2783915460 2.496s
python 034 40730 2.601s
erlang 073 7295372 2.643s
c++ 069 510510 2.722s
python 187 17427258 2.830s
ruby 044 5482660 2.837s
sml 012 76576500 2.950s
java 187 17427258 2.993s
python 023 4179871 3.114s
erlang 206 1389019170 3.393s
go 071 428570 3.399s
go 043 16695334890 3.525s
rust 050 997651 3.566s
erlang 010 142913828922 3.918s
python 043 16695334890 4.125s
python 104 329468 4.266s
scala 206 1389019170 4.396s
clojure 025 4782 4.448s
clojure 035 55 4.519s
clojure 034 40730 4.607s
python 044 5482660 4.856s
haskell 014 837799 5.046s
ruby 032 45228 5.086s
python 032 45228 5.228s
erlang 043 16695334890 5.239s
ruby 039 840 5.457s
java 050 997651 5.489s
clojure 087 1097343 5.519s
ruby 043 16695334890 5.639s
python 039 840 5.676s
clojure 206 1389019170 5.682s
clojure 044 5482660 5.753s
erlang 014 837799 5.950s
ruby 023 4179871 6.219s
python 206 1389019170 6.359s
clojure 010 142913828922 7.895s
ruby 092 8581146 8.833s
clojure 012 76576500 8.884s
go 050 997651 8.961s
c++ 050 997651 8.970s
clojure 123 21035 9.198s
clojure 043 16695334890 9.233s
rust 145 608720 12.921s
ruby 206 1389019170 13.196s
clojure 039 840 14.435s
python 092 8581146 14.888s
python 073 7295372 15.340s
clojure 203 34029210557338 17.221s
clojure 023 4179871 19.443s
go 145 608720 20.009s
ruby 187 17427258 20.125s
erlang 145 608720 20.575s
ruby 073 7295372 20.882s
clojure 032 45228 21.002s
python 060 26033 23.269s
clojure 014 837799 24.552s
clojure 092 8581146 25.305s
java 145 608720 27.310s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment