Front page | perl.perl5.porters |
Postings from January 2008
Re: [perl #50352] Perl 5.10 Storable extremely slow for large trees of data
Thread Previous
|
Thread Next
From:
Clinton Pierce
Date:
January 29, 2008 17:38
Subject:
Re: [perl #50352] Perl 5.10 Storable extremely slow for large trees of data
Message ID:
9e01efbb0801290824j5766e669l7f5edbdef09d60c7@mail.gmail.com
As a followup to myself, I ran perl -V on the 5.6 build that's nice and
fast. The usemymalloc=n would seem to indicate that it's already using the
system-supplied malloc.
Summary of my perl5 (revision 5 version 6 subversion 0) configuration:
Platform:
osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=undef use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=undef d_sfio=undef uselargefiles=undef
use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
Compiler:
cc='cl', optimize='-O1 -MD -DNDEBUG', gccversion=
cppflags='-DWIN32'
ccflags ='-O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT
-DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_
MSVCRT_READFIX'
stdchar='char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=4
alignbytes=8, usemymalloc=n, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -release
-libpath:"D:\Perl\lib\CORE" -machine:x86'
libpth="C:\Program Files\Mts\Lib" "D:\Perl\lib\CORE"
libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib
netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib
odbc32.lib odbccp32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release
-libpath:"D:\Perl\lib\CORE" -machine:x86'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT
PERL_IMPLICIT_SYS
Locally applied patches:
ActivePerl Build 623
Built under MSWin32
Compiled at Dec 15 2000 16:27:07
@INC:
T:/Perl/lib
T:/Perl/site/lib
.
On Jan 29, 2008 11:19 AM, Clinton Pierce <clintp@gmail.com> wrote:
> More detail:
> >
> > There is definitely a difference between 5.6.2 and 5.10.0, but a far
> > more significant difference is brought about by using different mallocs:
> >
> > With 5.10.0 the freeze takes about 2.7 secs with the system malloc and
> > 0.03 secs with perl's malloc.
> > With 5.6.2 it takes about 0.9 secs with the system malloc and 0.03 secs
> > with perl's malloc.
> >
> > Not sure why the system malloc figure is slower with 5.10.0, but if the
> > 0.03 secs is more like the time that you were seeing previously, could
> > it be that your 5.6.x build was using perl's malloc and now your 5.10.0
> > build is using the system malloc? (ActivePerl builds use the system
> > malloc because perl's malloc currently doesn't work with "-D
> > PERL_IMPLICIT_SYS", which is required for the fork() emulation.)
> >
>
> Good find.
>
> And that pretty much leaves me up a creek. I can't really use a
> self-built Perl for Production in my situation, and the supplied one is far,
> far too slow. Maybe I'll have to find another distribution source or stay
> on 5.6.
>
>
>
>
Thread Previous
|
Thread Next