in reply to Re^11: Avoid Locking Entire Hashes
in thread Avoid Locking Entire Hashes

my slow results are much faster than yours

Yes. This is 32-bit 5.8.9 on 64-bit Vista on Core 2 Quad @2.4GHz:

## full hash C:\test>\perl32\bin\perl.exe 909437-1.pl Lock hash took 1.153 seconds ## refs my way C:\test>\perl32\bin\perl.exe 909437-2.pl Lock scalar ref took 3.057 seconds ## refs your way C:\test>\perl32\bin\perl.exe 909437-3.pl Lock scalars ref took 3.473 seconds

And 64-bit 5.10.1:

C:\test>909437-1 Lock hash took 1.189 seconds C:\test>909437-2 Lock scalar ref took 3.285 seconds C:\test>909437-3 Lock scalars ref took 3.434 seconds

Maybe the internal semaphoring has improved substantially in 5.14? Time to consider an upgrade.

Does 5.14 have much else to make the pain worth while?


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.

Replies are listed 'Best First'.
Re^13: Avoid Locking Entire Hashes
by ikegami (Patriarch) on Jun 15, 2011 at 17:36 UTC

      I meant anything that has specifically stood out for you.

      With regard to the disparity between our timings, they aren't down to 5.14 per se.

      They are noticeably quicker on 5.14, but the delta remains the same (for me):

      C:\test>\perl5.14-64\bin\perl.exe 909437-1.pl Lock hash took 0.904 seconds C:\test>\perl5.14-64\bin\perl.exe 909437-2.pl Lock scalar ref took 2.482 seconds C:\test>\perl5.14-64\bin\perl.exe 909437-3.pl Lock scalars ref took 2.951 seconds

      Are you using AS, or other?


      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.

        I haven't really gone over the list of changes.

        I'm using ActivePerl build 1400 for x86.

        My CPU is 2 years newer. And while the clock is slower, it has a "turbo" frequency of 2.8 GHz (whatever that means) which is faster. (Presumably, it speeds up when needed, saving power the rest of the time. This is a laptop CPU. M = Mobile)

        Core i7 720QM
        Core 2 Q6600