| www.delorie.com/archives/browse.cgi | search |
On Mon, Jul 03, 2000 at 10:53:57PM -0400, cgf wrote: >I spent part of my "day off" today hacking together a "copy-on-write" >implementation for copying the heap after a fork. I've long wanted to >try to do something like this. It seems to work pretty well as long as >I don't fork something that forks something else. > >I can't tell if there is a performance improvement or degradation or not >yet. > >I hope that nobody is standing while reading this because I have some >shocking news. > >The copy-on-write functionality is badly broken on Windows 95, so I >can't use it there. This only works on NT. I couldn't figure out how to get copy-on-write working beyond the first level of fork. There doesn't seem to be any way to share a pool of memory inherited from a parent process and potentially updated with a copy-on-write operation. It turns out not to matter anyway. The current version of fork is somehow, inexplicably faster than my copy-on-write version. I also tried having the child process inherit the parent's memory and just memcpy'ing the parent's memory into the child's malloc pool. That was the slowest of all. Oh well. cgf
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |