# New Ticket Created by Nicholas Clark # Please include the string: [perl #36459] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36459 >
This is a bug report for perl from [EMAIL PROTECTED], generated with the help of perlbug 1.35 running under perl vv5.9.3. ----------------------------------------------------------------- [Please enter your report here] How expensive are 32 million function calls? gcov says: void Perl_sv_setuv(pTHX_ register SV *sv, UV u) 32637341 { /* With these two if statements: u=1.49 s=0.52 cu=72.49 cs=10.64 scripts=270 tests=20865 without u=1.35 s=0.47 cu=73.45 cs=11.43 scripts=270 tests=20865 If you wish to remove them, please benchmark to see what the effect is */ 32637341 if (u <= (UV)IV_MAX) { 32546899 sv_setiv(sv, (IV)u); 32546899 return; } 90442 sv_setiv(sv, 0); 90442 SvIsUV_on(sv); 90442 SvUV_set(sv, u); } Might be worth investigating the true effect of that if statement, and if moving it up into the macros that call sv_setuv helps. Nicholas Clark [Please do not change anything below this line] ----------------------------------------------------------------- --- Flags: category=core severity=wishlist --- Site configuration information for perl vv5.9.3: Configured by nick at Sat Jul 2 14:49:53 BST 2005. Summary of my perl5 (revision 5 version 9 subversion 3 patch 24148) configuration: Platform: osname=freebsd, osvers=5.3-release-p2, archname=i386-freebsd-thread-multi uname='freebsd saigo.etla.org 5.3-release-p2 freebsd 5.3-release-p2 #1: wed dec 15 21:05:13 gmt 2004 [EMAIL PROTECTED]:usrobjusrsrcsyssaigo i386 ' config_args='-Dusedevel=y -Dcc=ccache gcc -Dld=gcc -Ubincompat5005 -Uinstallusrbinperl [EMAIL PROTECTED] [EMAIL PROTECTED] -Dinc_version_list= -Dinc_version_list_init=0 -Doptimize=-Os -Dusethreads -Uuse64bitint -Uusemymalloc -Duseperlio -Dprefix=~/Sandpit/snap5.9.x-25047 -Dinstallman1dir=none -Dinstallman3dir=none -de' hint=recommended, useposix=true, d_sigaction=define usethreads=define useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='ccache gcc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include', optimize='-Os', cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include' ccversion='', gccversion='3.4.2 [FreeBSD] 20040728', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='gcc', ldflags ='-Wl,-E -L/usr/local/lib' libpth=/usr/lib /usr/local/lib libs=-lm -lcrypt -lutil -lc_r perllibs=-lm -lcrypt -lutil -lc_r libc=, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib' Locally applied patches: --- @INC for perl vv5.9.3: lib /home/nick/Sandpit/snap5.9.x-25047/lib/perl5/5.9.3/i386-freebsd-thread-multi /home/nick/Sandpit/snap5.9.x-25047/lib/perl5/5.9.3 /home/nick/Sandpit/snap5.9.x-25047/lib/perl5/site_perl/5.9.3/i386-freebsd-thread-multi /home/nick/Sandpit/snap5.9.x-25047/lib/perl5/site_perl/5.9.3 /home/nick/Sandpit/snap5.9.x-25047/lib/perl5/site_perl . --- Environment for perl vv5.9.3: HOME=/home/nick LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/home/nick/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/home/nick/bin:/usr/local/sbin:/sbin:/usr/sbin PERL_BADLANG (unset) SHELL=/usr/local/bin/bash