in reply to Re: CPU Load generator for Windows?
in thread CPU Load generator for Windows?

Since we're talking Windows here, the OP needs to use double quotes in the first case, and to reverse single-for-double and vice-versa in the second...

perl -e "while(1) {$x++}"

perl -e "$x='' x 1024 x 1024 x 256; while(1) { $x=~s/ /./g; $x=~s/./ /g;}"

Interestingly, at least to me, in the second case I saw the handle count rise rapidly (well, over the course of a few tens of seconds), with "Available" physical memory actually increasing (mostly, there were a few small dips). That seems counterintutitive.

Replies are listed 'Best First'.
Re^3: CPU Load generator for Windows?
by BrowserUk (Patriarch) on Jun 22, 2007 at 18:08 UTC

    If the intent is to create a large string, '' x 1024 x 1024 x 256 isn't working:

    C:\test>perl -wle "$x='' x 1024 x 1024 x 256; print length( $x )" 0

    A null string isn't the same a string containing a null. And 0 * anything is 0. Try

    C:\test>perl -wle "$x = chr(0) x 1024 x 1024 x 256; print length( $x ) +" 268435456

    Personally, I find even that a little dubious in that, due to precedence, it creates the final string in 3 stages rather than 1. I think that

    C:\test>perl -wle "$x = chr(0) x (1024* 1024 * 256); print length( $x +);<>" 268435456

    is 'better', though it has little effect on the outcome.


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.