Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things


by bulk88 (Priest)
on Aug 25, 2010 at 21:18 UTC ( #857302=user: print w/replies, xml ) Need Help??

I have a CPAN User ID, BULKDD, and a github.

Re^5: Perl 5 Optimizing Compiler interp machine code func sizes

Interp todo list: investigate added to blead, needs bug fixes, has macro code bloat, nearly 4 KB investigate removing isREGEXP code

for newXS, store the file char * param in an interp global, don't pass it each time, save strlen too, consider encoding file, proto, and xsub names in 3 UCHARs in a bitfield for flags param. Maybe vararg it. appropriate changes to parseXS too.

SvPV, return a struct, len goes into EDX only on EAX EDX return platforms like win32 32 bit x86, saved 0x200 instruction bytes in interp in crude test

look through old tickets which weren't applied yet

fastcall on msvc gcc 32 bit, 10% faster in perlbench

regcall on intel c, sounds much better than fastcall, and structs returned in regs on x64 supposedly, see SvPV EAX EDX item

strlen audit

too many upg_version calls on PL_patchlevel, see

win32 Perl_init_os_extras, remove the GetProcAddress overhead, now that PERL_IS_MINIPERL define exists from makefiles

av_fetch_flags, never returns null, will return PL_sv_undef instead. Removes a common idiom. Turning lval param into a flags will cost zero instructions, since there is always an lval param right now anyways.

remove context from Perl_mg_find* and S_mg_findext_flags, use .fnc for back compatb

how to load every XS module on Win32 Perl -Marybase -Mattributes -MB -MCompress::Raw::Bzip2 -MCompress::Raw::Zlib -MCwd -MData::Dumper -MDevel::Peek -MDevel::PPPort -MDigest::MD5 -MDigest::SHA -MEncode -MEncode::Byte -MEncode::CN -MEncode::EBCDIC -MEncode::JP -MEncode::KR -MEncode::Symbol -MEncode::TW -MEncode::Unicode -MFcntl -MFile::DosGlob -MFile::Glob -MFilter::Util::Call -MHash::Util -MHash::Util::FieldHash -MIO -MList::Util -MMath::BigInt::FastCalc -MMIME::Base64 -Mmro -MOpcode -MPerlIO::encoding -MPerlIO::mmap -MPerlIO::scalar -MPerlIO::via -MPOSIX -Mre -MSDBM_File -MSocket -MStorable -MSys::Hostname -Mthreads -Mthreads::shared -MTie::Hash::NamedCapture -MTime::HiRes -MTime::Piece -MUnicode::Collate -MWin32 -MWin32API::File -MXS::APItest -MXS::Typemap

Log In?

What's my password?
Create A New User
holli feels silly
[Corion]: :-D

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (2)
As of 2017-09-24 14:31 GMT
Find Nodes?
    Voting Booth?
    During the recent solar eclipse, I:

    Results (274 votes). Check out past polls.