in reply to Re^8: Why is Windows 100 times slower than Linux when growing a large scalar?
in thread Why is Windows 100 times slower than Linux when growing a large scalar?
ActiveState 5.10.1 has a Perl510.dll ... I noticed that the code is all compiled in Debug
Okay. I'm more used to the phrase "compiled with debug", rather than "compiled in debug". A small difference, but enough to cause me to question what you meant.
The other question I have is what evidence do you have for believing AS perl is compiled with debug?
When I use -V on a freshly downloaded 32-bit AS perl 5.10.1 install, I get this output:
c:\tmp\ActivePerl-5.10.1.1006-MSWin32-x86-291086\perl\bin>perl -V Summary of my perl5 (revision 5 version 10 subversion 1) configuration +: Platform: osname=MSWin32, osvers=5.00, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=und +ef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D +_CONSOLE -DNO_STRICT -DHAVE_DES_F optimize='-MD -Zi -DNDEBUG -O1', cppflags='-DWIN32' ccversion='12.00.8804', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64 +', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -l +ibpath:"C:\TEMP\perl---------plea libpth=\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib + comdlg32.lib advapi32.lib shell perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool +.lib comdlg32.lib advapi32.lib s libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl510.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt: +ref,icf -libpath:"C:\TEMP\perl-- Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_SITECUSTOMIZE Locally applied patches: ActivePerl Build 1006 [291086] 32728 64-bit fix for Time::Local Built under MSWin32 Compiled at Aug 24 2009 13:48:26 @INC: c:/tmp/ActivePerl-5.10.1.1006-MSWin32-x86-291086/perl/site/lib c:/tmp/ActivePerl-5.10.1.1006-MSWin32-x86-291086/perl/lib .
The significant portion of which is cc='cl', ccflags =... -DNDEBUG -O1 -DWIN32?
In the source code they just call the CRT malloc/calloc/realloc, they don't do any magic with Win32 Heap APIs.
It is the CRT itself that uses the Heap apis...not Perl.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^10: Why is Windows 100 times slower than Linux when growing a large scalar?
by ikegami (Patriarch) on Dec 02, 2009 at 16:41 UTC |