This has been rather interesting. There is an overall speedup, but not what I expected.
Thank you Mario. I was trying to use the Imager object because of failing to implement the scalar solution (for dumb reasons, like omitting type => 'gif' on the write method), as you showed in
the heatmap node, with errors like:
write_multi: image 1 is not an Imager image object
or
Usage: i_writegif_wiol(IO,hashref, images...)
I've only had time to try your first demo and of
course it works wonders! The speed gain is more
impressive if another 9 is added to the count to
make a 100,000 frame GIF (with 8 workers on 3.1GHz i7):
real 3m43.591s # Perl
real 1m19.701s # MCE
MCE also appears to use much less memory. The plain
Perl version grows to almost 2GB, while the MCE
workers consume a mere 6MB each until the final process
that consolidates the GIF only grows to 1GB. This makes
an 80MB GIF. I tried a million frames too but the heat
throttled my laptop CPU to 2 GHz while it used 9GB of RAM
before swapping so that took 18 minutes to make an
820MB GIF, no fault of MCE...
MCE makes the hard things easy—thanks for
supercharging Perl!
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|