No, I don't think the problem has anything to do with ActiveState nor their version of Perl. Though I don't see any reports using ActivePerl other than on Win32 (yes, they make such), I doubt that the problem would appear there.
My guess based on the results is that the blame can likely be placed on the malloc() of Win32's CRTL and that cygwin-built Perls doesn't use that version of malloc().
In any case, testing with my non-ActiveState Perl on Win32 gives:
C:\> perl checkpairs.pl Section A took 0.7500 CPU seconds Section B took 2.5470 CPU seconds Section A took 0.7340 CPU seconds Section B took 13.8280 CPU seconds
Which certainly disproves that it "only occurs in ActivePerl". (:
And I've certainly seen Win32's malloc() cause performance problems. I haven't read the code for it recently but I'm quite familiar with some of the memory use patterns that it produces and those clearly show a very naive algorithm.
Anyone got a Win32 (non-cygwin) Perl built with profiling?
- tye
In reply to Re^2: Garbage collection problem?? (Win32 CRTL malloc)
by tye
in thread Garbage collection problem??
by tcarmeli
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |