Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: creative forking (code)

by chromatic (Archbishop)
on Nov 04, 2001 at 04:04 UTC ( [id://123114]=note: print w/replies, xml ) Need Help??


in reply to creative forking (code)

Memory's not your problem with that code. CPU time is. You have a very tight loop that doesn't relinquish control. If you don't need millisecond precision (and if you're not using an RTOS, it's not guaranteed anyway), throw in a sleep call. You might also appease the style police with a while loop, but do what you like there.

Memory probably isn't a problem, because Unixy operating systems use copy-on-write techniques when forking a kid. That's why fork is so fast -- the cloned process actually uses the same memory pages as the parent. Only when the kid changes (or writes to) a page is a fresh page allocated. If your hypothetical 50 megabyte program only changes a couple of variables in the kid process, only a couple of pages (probably 4 kilobytes in size on a 32-bit machine) will be unshared.

Of course, you could write a dedicated program to handle events, perhaps with POE or Schedule::Cron, and have it listen on a pipe for events to schedule.

Replies are listed 'Best First'.
Re: Re: creative forking (code)
by Anonymous Monk on Nov 04, 2001 at 12:04 UTC
    ++ chromatic

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://123114]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (1)
As of 2024-04-24 23:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found