Hacker News new | past | comments | ask | show | jobs | submit login

If the memory is above the size of a page, you can tell the VM to drop the page and give you a new zero filled one instead.



For 8kb? Syscalling in to the kernel, updating the processes’s memory map and then later faulting is probably slower by an order of magnitude or more compared to just setting those bytes to zero.

Memcpy, bzero and friends are insanely fast. Practically free when those bytes are in the cpu’s cache already.


So don't syscall. Darwin has a system similar to io_uring for this.

(But it also has a 16KB page size.)


Probably still cause a page fault when the memory is re-accessed though. I suspect even using io_uring will still be a lot slower than bzero if you're just zeroing out 2 pages of memory. Zeroing memory is really fast.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: