Hi guys:

        I have a question about the this API.

PyObject *
PyString_InternFromString(const char *cp)
{
        PyObject *s = PyString_FromString(cp);
        if (s == NULL)
                return NULL;
        PyString_InternInPlace(&s);
        return s;
}


Why it always try to call PyString_FromString first?  if char* cp is already in 
the
interned dict, this PyString_FromString call is waster. so I think this API 
should
implement as:

1. check the interned dict
2. if cp is not in the dict, then call PyString_FromString, and insert the new 
string in
the dict
3. else : call Py_INCREF and return.

Is this right?

Kyo.


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to