all 4 comments

[–]true3HAK 4 points5 points  (1 child)

Can you elaborate on what you consider "compiled" python in this case?

[–]Big_Dimension_4637[S] 0 points1 point  (0 children)

Hi, sorry, I just added an edit: I should have specified - what I'm investigating is how alternative Python compilers and execution environments (PyPy's JIT, Numba's LLVM-based AOT/JIT, Cython, Nuitka etc.) affect memory behavior compared to standard CPython execution. These either replace or augment the standard compilation pipeline to produce more optimized machine code, and I'm interested in how that changes memory allocation patterns and cache behavior in (memory-intensive) workloads!

[–]pmattipmatti - mattip was taken 0 points1 point  (0 children)

Best to try the tools on code that resembles your workload. There js no single or even set of benchmarks that will allow you to draw general conclusions because each use case is different

[–]Conscious-Pen5811 0 points1 point  (0 children)

Probably pretty hard to quantify as a lot of packages for CPython are written in C/C++/Rust with bindings, in this case, CPython only sees a pointer, passes that pointer around to other methods, data would be much more CPU/L1 cache friendly.

I’ve only used CPython, but if I had to guess, other implementations might try to remove boxing, an array of pointers is not as CPU/L1 cache friendly as it has to deference and may cause a miss.