(tail call elimination is different than proper tail calls).
I'm not sure I follow. What is the distinction here?
HN user
(tail call elimination is different than proper tail calls).
I'm not sure I follow. What is the distinction here?
Take a look here: https://en.wikipedia.org/wiki/Memory_management#DYNAMIC.
No one is really hanging on to previously freed space (except for the allocator, or if you're using a custom object pool allocation scheme) specifically for new versions of the array.
But if you're allocations look like this:
array = malloc(<capacity>);
// do stuff with array
free(array);
...
array = malloc(<new capacity>);
// do stuff with array
free(array);
with no other allocations in between then it is possible that the allocator might reuse previously freed array space.Was just going to comment prior to your edit, but we really should compare rates of occurrance rather than population size.
It's equivalent to the SQL JOIN...
Don't you mean GROUP BY?
This sounds similar to the technique used in the integer-only version of bresenham's line drawing algorithm.
Sounds like an amazing journey. Congrats on all the hard work.
It's spinning in the right direction. We're just inside the earth :).
Just delete the line. It should revert back to the default theme.
How much worse peformance-wise would generating PIC be to address this?