develooper Front page | perl.perl5.porters | Postings from May 2010

Re: [PATCH] shift; optimization

Thread Previous | Thread Next
Reini Urban
May 4, 2010 13:58
Re: [PATCH] shift; optimization
Message ID:
2010/5/3 Jan Dubois <>:
> On Mon, 03 May 2010, Reini Urban wrote:
>> 2010/5/3 Ruslan Zakirov <>:
>> > While testing a simple benchmark script I noticed that threaded
>> > version is 25% faster. I suspect that the code may be is not thread
>> > safe, however don't know anything about perl threads.
>> This is because threaded passes the my_perl struct on the stack, PL_op
>> is just 4(%esi).
> Note that fox XS code this is only true if you
> Otherwise my_perl will actually be redefined to *Perl_get_context(),
> which will fetch the actual my_perl from thread-local storage, which
> will be really slow.
>> Accessing stack locals is much faster than accessing a global.
> So please make sure you define PERL_NO_GET_CONTEXT in your modules
> if you are an XS author.  It is not on by default for backwards
> compatibility reasons only.

That's why I started working on
to get this advantage for non-threaded and
#undef PERL_NO_GET_CONTEXT also.
Reini Urban 

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About