Files
print_hej/data/analysis.json
T
Ein Anderssono a2e13a70a1 Add comprehensive performance metrics and data collection
- Added instructions, cycles, and IPC metrics to all reports
- Created CSV data files for each language with detailed metrics
- Added timeline data (memory and CPU over time) for each run
- Updated all reports with new metrics
- Created analysis script to analyze collected data
- Generated reports for all decimal levels (1, 2, 5, 10, 100, 1000, 2000)

Key findings:
- D has highest IPC (4.00) - most efficient CPU usage
- Crystal is fastest (22ms) - faster than C and C++
- Assembly is most memory efficient (1.4MB)
- Rust and Fortran have IPC 3.11 - good optimization
2026-04-23 14:39:13 +02:00

354 lines
7.9 KiB
JSON

{
"C++": {
"time_ms": 26.0,
"memory_bytes": 1523712.0,
"peak_memory_bytes": 1523712.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 23545731.0,
"cycles": 9050444.0,
"ipc": 2.6
},
"Zig": {
"time_ms": 25.0,
"memory_bytes": 2981888.0,
"peak_memory_bytes": 2981888.0,
"real_time_s": 0.003,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 63916095.0,
"cycles": 24932859.0,
"ipc": 2.56
},
"Go": {
"time_ms": 31.0,
"memory_bytes": 4041386.0,
"peak_memory_bytes": 4145152.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 19473738.0,
"cycles": 8671903.0,
"ipc": 2.24
},
"Nim": {
"time_ms": 27.0,
"memory_bytes": 1572864.0,
"peak_memory_bytes": 1572864.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 15728237.0,
"cycles": 5449577.0,
"ipc": 2.88
},
"Python": {
"time_ms": 60.0,
"memory_bytes": 9737557.0,
"peak_memory_bytes": 9814016.0,
"real_time_s": 0.043,
"user_time_s": 0.02,
"sys_time_s": 0.01,
"instructions": 17485978.0,
"cycles": 7928968.0,
"ipc": 2.2
},
"Elixir": {
"time_ms": 406.0,
"memory_bytes": 89161728.0,
"peak_memory_bytes": 89260032.0,
"real_time_s": 0.393,
"user_time_s": 0.296,
"sys_time_s": 0.216,
"instructions": 17505478.0,
"cycles": 7380020.0,
"ipc": 2.37
},
"Dart": {
"time_ms": 35.0,
"memory_bytes": 14641834.0,
"peak_memory_bytes": 14680064.0,
"real_time_s": 0.013,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 63451402.0,
"cycles": 27183385.0,
"ipc": 2.33
},
"Assembly": {
"time_ms": 32.0,
"memory_bytes": 1409024.0,
"peak_memory_bytes": 1409024.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 12558975.0,
"cycles": 6069377.0,
"ipc": 2.06
},
"Perl": {
"time_ms": 58.0,
"memory_bytes": 12506453.0,
"peak_memory_bytes": 12550144.0,
"real_time_s": 0.04,
"user_time_s": 0.03,
"sys_time_s": 0.0,
"instructions": 17355692.0,
"cycles": 7662235.0,
"ipc": 2.26
},
"TypeScript": {
"time_ms": 1361.0,
"memory_bytes": 208289792.0,
"peak_memory_bytes": 218808320.0,
"real_time_s": 1.333,
"user_time_s": 1.7,
"sys_time_s": 0.183,
"instructions": 17642488.0,
"cycles": 7699920.0,
"ipc": 2.29
},
"Rust": {
"time_ms": 27.0,
"memory_bytes": 1687552.0,
"peak_memory_bytes": 1703936.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 15233650.0,
"cycles": 4898110.0,
"ipc": 3.11
},
"Erlang": {
"time_ms": 185.0,
"memory_bytes": 77048490.0,
"peak_memory_bytes": 77185024.0,
"real_time_s": 0.166,
"user_time_s": 0.12,
"sys_time_s": 0.1,
"instructions": 17696158.0,
"cycles": 7782102.0,
"ipc": 2.27
},
"R": {
"time_ms": 220.0,
"memory_bytes": 91253418.0,
"peak_memory_bytes": 91734016.0,
"real_time_s": 0.2,
"user_time_s": 0.143,
"sys_time_s": 0.036,
"instructions": 18177908.0,
"cycles": 8751540.0,
"ipc": 2.07
},
"Java": {
"time_ms": 68.0,
"memory_bytes": 43073536.0,
"peak_memory_bytes": 43106304.0,
"real_time_s": 0.046,
"user_time_s": 0.03,
"sys_time_s": 0.016,
"instructions": 17776760.0,
"cycles": 8998434.0,
"ipc": 1.97
},
"Kotlin": {
"time_ms": 65.0,
"memory_bytes": 45208917.0,
"peak_memory_bytes": 45383680.0,
"real_time_s": 0.046,
"user_time_s": 0.04,
"sys_time_s": 0.013,
"instructions": 17527899.0,
"cycles": 7459125.0,
"ipc": 2.34
},
"Crystal": {
"time_ms": 22.0,
"memory_bytes": 3293184.0,
"peak_memory_bytes": 3293184.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 29546282.0,
"cycles": 9885445.0,
"ipc": 2.98
},
"Haskell": {
"time_ms": 46.0,
"memory_bytes": 12053162.0,
"peak_memory_bytes": 12058624.0,
"real_time_s": 0.013,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 49928755.0,
"cycles": 18118511.0,
"ipc": 2.75
},
"PHP": {
"time_ms": 95.0,
"memory_bytes": 26624000.0,
"peak_memory_bytes": 26689536.0,
"real_time_s": 0.066,
"user_time_s": 0.043,
"sys_time_s": 0.01,
"instructions": 17546554.0,
"cycles": 7685481.0,
"ipc": 2.28
},
"Lua": {
"time_ms": 29.0,
"memory_bytes": 2091690.0,
"peak_memory_bytes": 2097152.0,
"real_time_s": 0.01,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 17419324.0,
"cycles": 8017680.0,
"ipc": 2.17
},
"Bash": {
"time_ms": 34.0,
"memory_bytes": 2058922.0,
"peak_memory_bytes": 2064384.0,
"real_time_s": 0.013,
"user_time_s": 0.0,
"sys_time_s": 0.006,
"instructions": 18550685.0,
"cycles": 8090090.0,
"ipc": 2.29
},
"Brainfuck": {
"time_ms": 56.0,
"memory_bytes": 9185962.0,
"peak_memory_bytes": 9256960.0,
"real_time_s": 0.033,
"user_time_s": 0.01,
"sys_time_s": 0.01,
"instructions": 17501272.0,
"cycles": 8126562.0,
"ipc": 2.15
},
"Scala": {
"time_ms": 471.0,
"memory_bytes": 55973205.0,
"peak_memory_bytes": 58376192.0,
"real_time_s": 0.446,
"user_time_s": 0.193,
"sys_time_s": 0.066,
"instructions": 18880700.0,
"cycles": 8929948.0,
"ipc": 2.11
},
"Swift": {
"time_ms": 30.0,
"memory_bytes": 6083925.0,
"peak_memory_bytes": 6094848.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 50037590.0,
"cycles": 16493503.0,
"ipc": 3.03
},
"Fortran": {
"time_ms": 26.0,
"memory_bytes": 1802240.0,
"peak_memory_bytes": 1802240.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 27378187.0,
"cycles": 8787318.0,
"ipc": 3.11
},
"CSharp": {
"time_ms": 64.0,
"memory_bytes": 41462442.0,
"peak_memory_bytes": 41566208.0,
"real_time_s": 0.036,
"user_time_s": 0.02,
"sys_time_s": 0.01,
"instructions": 17452260.0,
"cycles": 8624146.0,
"ipc": 2.02
},
"Julia": {
"time_ms": 190.0,
"memory_bytes": 236235434.0,
"peak_memory_bytes": 236355584.0,
"real_time_s": 0.173,
"user_time_s": 0.116,
"sys_time_s": 0.033,
"instructions": 17691121.0,
"cycles": 7819185.0,
"ipc": 2.26
},
"Odin": {
"time_ms": 30.0,
"memory_bytes": 1731242.0,
"peak_memory_bytes": 1753088.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 16241385.0,
"cycles": 6689690.0,
"ipc": 2.42
},
"JavaScript": {
"time_ms": 118.0,
"memory_bytes": 44417024.0,
"peak_memory_bytes": 44580864.0,
"real_time_s": 0.09,
"user_time_s": 0.07,
"sys_time_s": 0.01,
"instructions": 18142055.0,
"cycles": 9003896.0,
"ipc": 2.01
},
"C": {
"time_ms": 27.0,
"memory_bytes": 1687552.0,
"peak_memory_bytes": 1687552.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 14479010.0,
"cycles": 6499773.0,
"ipc": 2.22
},
"D": {
"time_ms": 24.0,
"memory_bytes": 2479445.0,
"peak_memory_bytes": 2490368.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 80920081.0,
"cycles": 20218601.0,
"ipc": 4.0
},
"Objective-C": {
"time_ms": 27.0,
"memory_bytes": 6045696.0,
"peak_memory_bytes": 6045696.0,
"real_time_s": 0.0,
"user_time_s": 0.0,
"sys_time_s": 0.0,
"instructions": 27238699.0,
"cycles": 10593613.0,
"ipc": 2.57
},
"Ruby": {
"time_ms": 96.0,
"memory_bytes": 28934144.0,
"peak_memory_bytes": 28950528.0,
"real_time_s": 0.076,
"user_time_s": 0.04,
"sys_time_s": 0.02,
"instructions": 17400986.0,
"cycles": 7174843.0,
"ipc": 2.42
}
}