Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

renodino's scratchpad

by renodino (Curate)
on Jan 24, 2006 at 00:54 UTC ( #525088=scratchpad: print w/ replies, xml ) Need Help??

for BrowserUk

I gave it a whirl on WinXP SP2, 2.4GHz, 1 Gig. But I used /stack:1024,0, and modified the code:

use strict; use threads; use threads::shared; use Win32::Console; our $N = 500; our $alldone : shared = 0; sub thread { my( $con, $n) = @_; my $tid = threads->self->tid; my( $y, $x ) = ( ( $tid % 20 ) * 5, int( $tid / 20 ) ); { lock $alldone; $alldone++; } $con->WriteChar( sprintf( '%04d', $_ ), $y, $x ) for 1 .. 3999; } $N = ($ARGV[0]=~/^-N=(\d+)/) ? $1 : 500; my $con = Win32::Console->new( STD_OUTPUT_HANDLE ); $con->Cls; my @threads = (); { lock $alldone; foreach (1.. $N) { push @threads, threads->new( \&thread, $con, 0 ) or die "threads->new failed with: $^E"; print "$_\r"; } print "\n"; } $_->join for @threads;
and squeezed out 1500 (could've gone higher, still had a Gig of pagefile left, but the laptop fan was screaming from the heat!). I'll try on my dual Xeon box this weekend; and also on a major threaded app I've got that uses the threading modules I've been working on.

So does this mean the issue is actually the default stack size, rather than the TLS ? And if so, might tweaking /HEAP have a similar effect ?

Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2015-07-04 05:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (57 votes), past polls