3 ms·
Because refcounting means lot of cache miss on the CPU core. One of the interesting advantage of erlang is that its processes are small and mostly fit in L2 me
by di4na 9y ago
Because refcounting means lot of cache miss on the CPU core.
One of the interesting advantage of erlang is that its processes are small and mostly fit in L2 memory. So you can load a whole process at once, then compute for your whole slice, all in cache.
The result may surprise you.
- CyberDildonics 9y agoWhy would reference counting increase cache misses? > One of the interesting advantage of erlang is that its processes are small and mostly fit in L2 memory. Are you talking about data or are you talking about execution? I wouldn't think execution would need reference counting. > So you can load a whole process at once, then compute for your whole slice, all in cache. Whatever data is being loaded still has latency. If it is accessed linearly it can be prefetched. If it is being copied around, that won't won't put it into a CPUs cache any faster and will require using writeback cache, not to mention all the cycle of copying. I'm not sure how data that already exists in memory and potentially in L3 caches, etc. is going to be hurt by reference counting. > The result may surprise you. Do you have results that I can look at? If not I think they will surprise both of us.