a2e13a70a1
- 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
354 lines
7.9 KiB
JSON
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
|
|
}
|
|
} |