A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2002-August/028466.html below:

[Python-Dev] tiny optimization in ceval mainloop

[Python-Dev] tiny optimization in ceval mainloopGuido van Rossum guido@python.org
Fri, 30 Aug 2002 10:13:52 -0400
>     Skip> Any time C code would want to read or update ticker, it would have
>     Skip> the GIL, right?
> 
>     Jack> Not if the idea that lead to this thread (clearing ticker if
>     Jack> something is put in things_to_do) is implemented, because we may
>     Jack> be in an interrupt routine at the time we fiddle things_to_do.
> 
>     Jack> And I don't think we can be sure that even clearing is guaranteed
>     Jack> to work (if another thread is halfway a load-decrement-store
>     Jack> sequence the clear could be lost).
> 
> Hmm...  I guess you lost me.  The code that fiddles the ticker in ceval.c
> clearly operates while the GIL is held.  I think the code in sysmodule.c
> that updates the checkinterval works under that assumption as well.  The
> other ticker in longobject.c I'm not so sure about.
> 
> The patch I submitted doesn't implement the ticker clear that Jeremy
> originally suggested.  It just pulls the ticker and the checkinterval out of
> the thread state and makes them two globals.  They are both manipulated in
> otherwise the same way.
> 
> Skip

Yeah, but the whole *point* would be to save an extra test and
(rarely-taken jump) by allowing Jeremy's suggestion to be implemented.
Otherwise I don't see much advantage to the patch (or do you see a
speed-up?).

--Guido van Rossum (home page: http://www.python.org/~guido/)



RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4