You could set it up so that each shuffle is done after a
fork, and just
wait for that one to end/die before going to the next. Something like (untested; off top of head & docs, but i think is the general outline):
my @deck = create_deck();
while(1){ # or whatever; loop over specific deals, or do just N deals
+, etc.
my $pid = fork;
die unless defined $pid;
if($pid){ # parent
wait;
# report on $? if desired
next;
}
do_heavy_lifting(\@deck);
exit; # w/an error code based on result if desired
}
sub do_heavy_lifting {
...
my %positions = ....;
...
}
So the
%positions isn't created/populated (made huge) until in the fork'd process, so when that
exits, the memory will get freed to the system, but your program is still going from the parent process.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.