On Sep 10, 2008, at 12:42 PM, Lisandro Dalcin wrote:

> On Wed, Sep 10, 2008 at 4:04 PM, Stefan Behnel  
> <[EMAIL PROTECTED]> wrote:
>> Hi,
>> We are totally not discussing our own GetAttrString() at this  
>> point (which is
>> only used in a couple of less important places anyway).
>
> But if GetAttrString() is still used in C code, then it has to handle
> the different signatures for 2.3/24 and 2.5/2.6/3.0. So then perhaps
> the less intrusive change is to generate a custom function
>
> PyObject* __Pyx_GetAttrString(PyObject*, const char*);

+1 to this idea.

>> Interning the string at module init time would only pay off if  
>> it's used
>> elsewhere in a performance critical part of the code later on,  
>> which is not so
>> likely for a class name.
>
> I actually agree in this point, but perhaps the approach I commented
> above still applies.
>
> I do not see any semantic difference in using PyString_FromString() or
> PyString_InternFromString(). Both calls return a new reference you own
> and next have to DECREF. I do not really have any strong complaint
> about Stefan's way for the particular case of importing a type from a
> module.


If we're going to be using this elsewhere, we should be using  
PyString_InternFromString. For most attribute lookups we should be  
using pre-generated interned strings.

- Robert


_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to