| Rust |
- |
4.5s |
Initial |
| Rust v2 |
- |
2.60s |
Replace std HashMap with fxHashMap by phazer99 |
| Rust v3 |
- |
1.28s |
Preallocate and reuse map and unstable sort by vdrmn and Darksonn |
| Rust v4 |
- |
0.13s |
Use Post index as key instead of Pointer and Binary Heap by RB5009 |
| Rust v5 |
38ms |
52ms |
Rm hashing from loop and use vec[count] instead of map[index]count by RB5009 |
| Rust v6 |
23ms |
36ms |
Optimized Binary Heap Ops by scottlamb |
| Rust Rayon |
9ms |
22ms |
Parallelize by masmullin2000 |
| Rust Rayon |
8ms |
22ms |
Remove comparison out of hot loop |
| ⠀ |
⠀ |
⠀ |
⠀ |
| Go |
- |
1.5s |
Initial |
| Go v2 |
- |
80ms |
Add rust optimizations |
| Go v3 |
56ms |
70ms |
Use goccy/go-json |
| Go v3 |
34ms |
55ms |
Use generic binaryheap by DrBlury |
| Go v4 |
26ms |
50ms |
Replace binary heap with custom priority queue |
| Go v5 |
20ms |
43ms |
Remove comparison out of hot loop |
| Go Con |
10ms |
33ms |
Go concurrency by tirprox and DrBlury |
| Go Con v2 |
5ms |
29ms |
Use arena, use waitgroup, rm binheap by DrBlury |
| ⠀ |
⠀ |
⠀ |
⠀ |
| Python |
- |
7.81s |
Initial |
| Python v2 |
1.35s |
1.53s |
Add rust optimizations by dave-andersen |
| Numpy |
0.57s |
0.85s |
Numpy implementation by Copper280z |
| ⠀ |
⠀ |
⠀ |
⠀ |
| Crystal |
50ms |
96ms |
Inital w/ previous optimizations |
| Crystal v2 |
33ms |
72ms |
Replace binary heap with custom priority queue |
| ⠀ |
⠀ |
⠀ |
⠀ |
| Odin |
110ms |
397ms |
Ported from golang code |
| Odin v2 |
104ms |
404ms |
Remove comparison out of hot loop |
| ⠀ |
⠀ |
⠀ |
⠀ |
| Dart VM |
125ms |
530ms |
Ported from golang code |
| Dart bin |
274ms |
360ms |
Compiled executable |
| ⠀ |
⠀ |
⠀ |
⠀ |
| Vlang |
339ms |
560ms |
Ported from golang code |
| ⠀ |
⠀ |
⠀ |
⠀ |
| Zig |
80ms |
110ms |
Provided by akhildevelops |