- JavaScript
- ImmutableJS
- ClojureScript
- Kotlin
- GopherJS (Go)
- RacketScript
- Reason (BuckleScript)
- Elm
- PureScript
- Dart
- ElixirScript
- Scala.js
- GHCJS (Haskell)
- ...
Stats for at least three types of data structures are required:
- Indexed collection of values such as Array or Vector
- Collection that maps keys to values such as Map or Record
- Collection of unique values — Set
- See how test code is implemented in other languages
- Implement test code in lang X
- Put sources in a directory in
src
- Write NPM build script using this template:
"build:[lang]": "[build cmd]"
- Write NPM test script using this template:
"run:[lang]": "node src/[lang]/test.js > out/[lang].json"
- Run test script
- Add results to
README.md
- Submit a PR
{
"empty object": 70.192,
"empty array": 93.04,
"empty map": 196.32,
"empty set": 166.64,
"10 item object": 143.552,
"10 item array": 246.152,
"10 item map": 882.304,
"10 item set": 431.76,
"100 item object": 6242.864,
"100 item array": 1341.864,
"100 item map": 6869.504,
"100 item set": 2645.504,
"1000 item object": 98685.52,
"1000 item array": 11597.864,
"1000 item map": 60768.392,
"1000 item set": 20563.264
}
{
"empty list": 19.904,
"empty map": 23.16,
"empty set": 23.192,
"10 item list": 641.752,
"10 item map": 1901.608,
"10 item set": 1578.704,
"100 item list": 2647.36,
"100 item map": 17411.496,
"100 item set": 15679.656,
"1000 item list": 20485.224,
"1000 item map": 182600.704,
"1000 item set": 123834.648
}
{
"empty list": 8.936,
"empty vector": 11.776,
"empty map": 11.368,
"empty set": 11.368,
"10 item list": 783.92,
"10 item vector": 286.744,
"10 item map": 1366.72,
"10 item set": 732.528,
"100 item list": 7239.256,
"100 item vector": 1600.8,
"100 item map": 8896.968,
"100 item set": 5402.552,
"1000 item list": 72040.64,
"1000 item vector": 11235.368,
"1000 item map": 121328.16,
"1000 item set": 123852.92
}
{
"empty List": 117.872,
"empty ArrayList": 107.24,
"empty HashMap": 454.968,
"empty HashSet": 497.112,
"10 item List": 252,
"10 item ArrayList": 262.624,
"10 item HashMap": 1725.72,
"10 item HashSet": 1072.216,
"100 item List": 1165.448,
"100 item ArrayList": 1166.744,
"100 item HashMap": 20542.936,
"100 item HashSet": 5630.728,
"1000 item List": 9692.632,
"1000 item ArrayList": 9695.568,
"1000 item HashMap": 121960.52,
"1000 item HashSet": 50820.536
}
{
"empty array": 267,
"empty map": 74,
"10 item array": 385,
"10 item map": 961,
"100 item array": 781,
"100 item map": 13474,
"1000 item array": 4344,
"1000 item map": 170444
}
{
"empty list": 20.104,
"empty vector": 138.48,
"empty hash map": 235.8,
"10 item list": 606.568,
"10 item vector": 285.048,
"10 item hash map": 1645.144,
"100 item list": 5637.992,
"100 item vector": 1234.384,
"100 item hash map": 13579.56,
"1000 item list": 55971,
"1000 item vector": 10428.632,
"1000 item hash map": 146484.752
}
{
"empty List": 84,
"empty Array": 145,
"empty Set": 71,
"empty Map": 71,
"empty Hashtbl": 346,
"10 item List": 720,
"10 item Array": 207,
"10 item Set": 975,
"10 item Map": 1363,
"10 item Hashtbl": 1443,
"100 item List": 6480,
"100 item Array": 927,
"100 item Set": 8082,
"100 item Map": 12081,
"100 item Hashtbl": 11165,
"1000 item List": 64073,
"1000 item Array": 8122,
"1000 item Set": 80404,
"1000 item Map": 120077,
"1000 item Hashtbl": 108343
}
{
"empty list": 43.776,
"empty array": 11.456,
"empty dict": 11.368,
"empty set": 11.424,
"10 item list": 524.696,
"10 item array": 208.288,
"10 item dict": 1076.36,
"10 item set": 1114.608,
"100 item list": 4851.144,
"100 item array": 1267.408,
"100 item dict": 10436.36,
"100 item set": 10475.792,
"1000 item list": 48046.928,
"1000 item array": 11220.536,
"1000 item dict": 104329.2,
"1000 item set": 104248.064
}