time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

commit b9f64ec37b73ca4e7a403235922662ee7867c2da
parent c19738709a29ca5d865464cf5e771659e2bab9d3
Author: NunoSempere <nuno.sempere@protonmail.com>
Date:   Sun, 15 Oct 2023 12:23:26 +0100

savepoint: C perf + readme tweaks

Diffstat:
DC/perf.txt | 26--------------------------
AC/perf/perf.data | 0
AC/perf/perf.txt | 25+++++++++++++++++++++++++
MREADME.md | 2++
4 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/C/perf.txt b/C/perf.txt @@ -1,26 +0,0 @@ -Samples: 884 of event 'cycles', Event count (approx.): 551167949 -Overhead Command Shared Object Symbol - 35.32% samples samples [.] xorshift32 - 14.09% samples libgomp.so.1.0.0 [.] 0x000000000001d2ea - 12.04% samples libgomp.so.1.0.0 [.] 0x000000000001d132 - 11.53% samples samples [.] mixture._omp_fn.0 - 4.55% samples libm-2.31.so [.] __sin_fma - 4.24% samples samples [.] rand_0_to_1 - 3.77% samples samples [.] random_to - 3.03% samples libm-2.31.so [.] __logf_fma - 1.61% samples libm-2.31.so [.] __expf_fma - 1.54% samples samples [.] split_array_sum._omp_fn.0 - 1.38% samples samples [.] random_uniform - 0.94% samples samples [.] ur_normal - 0.91% samples libm-2.31.so [.] __ieee754_log_fma - 0.74% samples libgomp.so.1.0.0 [.] 0x000000000001d13d - 0.52% samples samples [.] sample_0 - 0.41% samples libm-2.31.so [.] __sqrtf_finite@GLIBC_2.15 - 0.38% samples samples [.] sample_1 - 0.36% samples libgomp.so.1.0.0 [.] 0x000000000001d139 - 0.36% samples libgomp.so.1.0.0 [.] 0x000000000001d2f5 - 0.22% samples [kernel.kallsyms] [k] native_queued_spin_lock_slowpath - 0.18% samples [kernel.kallsyms] [k] _raw_spin_lock_irq - 0.18% samples samples [.] random_lognormal - 0.17% samples libgomp.so.1.0.0 [.] 0x000000000001d2f1 - diff --git a/C/perf/perf.data b/C/perf/perf.data Binary files differ. diff --git a/C/perf/perf.txt b/C/perf/perf.txt @@ -0,0 +1,25 @@ +Samples: 806 of event 'cycles', Event count (approx.): 576095767 +Overhead Command Shared Object Symbol + 36.75% samples samples [.] xorshift32 + 13.69% samples libgomp.so.1.0.0 [.] 0x000000000001d3ca + 12.84% samples samples [.] mixture._omp_fn.0 + 10.70% samples libgomp.so.1.0.0 [.] 0x000000000001d212 + 5.02% samples samples [.] rand_0_to_1 + 4.05% samples libm-2.31.so [.] __sin_fma + 3.11% samples libm-2.31.so [.] __logf_fma + 2.79% samples samples [.] split_array_sum._omp_fn.0 + 1.91% samples samples [.] random_to + 1.74% samples samples [.] random_uniform + 0.87% samples libm-2.31.so [.] __ieee754_log_fma + 0.81% samples samples [.] ur_normal + 0.74% samples libm-2.31.so [.] __expf_fma + 0.55% samples libgomp.so.1.0.0 [.] 0x000000000001d3d1 + 0.53% samples libgomp.so.1.0.0 [.] 0x000000000001d21d + 0.35% samples samples [.] random_normal + 0.30% samples libm-2.31.so [.] __sqrtf + 0.28% samples samples [.] random_lognormal + 0.25% samples samples [.] sample_0 + 0.24% samples [kernel.kallsyms] [k] 0xffffffffae72e205 + 0.22% samples libgomp.so.1.0.0 [.] 0x000000000001d219 + 0.18% samples [kernel.kallsyms] [k] 0xffffffffae2c2b83 + 0.18% samples [kernel.kallsyms] [k] 0xffffffffae4f4da7 diff --git a/README.md b/README.md @@ -123,6 +123,8 @@ Overall I'm thinking that a combination of lua at least for scripting and ¿nim/ OCaml was like meeting an old and forgotten friend. I found its syntax a bit clunky, but could get accustomed to it. Its list matching is nice, O(n) list element accessing, not so much. Honestly, I wanted to really like it, but I'm not sure yet. And it's *slow* compared to C. +I restricted myself to using the standard library, but it's likely that using Jane Street's Base or Core would have produced less clunky code. + ### Overall thoughts Overall I don't think that this is a fair comparison of the languages intrinsically, because I'm just differentially good at them, because I've chosen to put more effort in ones than in others. But it is still useful to me personally, and perhaps mildly informative to others.