Browse Source

Optimize PyBytes_FromObject(): only overallocate when size=0 to not get the

empty string singleton
pull/9921/head
Victor Stinner 12 years ago
parent
commit
88d146b7b9
  1. 4
      Objects/bytesobject.c

4
Objects/bytesobject.c

@ -3174,10 +3174,12 @@ PyBytes_FromObject(PyObject *x)
returning a shared empty bytes string. This required because we
want to call _PyBytes_Resize() the returned object, which we can
only do on bytes objects with refcount == 1. */
size += 1;
if (size == 0)
size = 1;
new = PyBytes_FromStringAndSize(NULL, size);
if (new == NULL)
return NULL;
assert(Py_REFCNT(new) == 1);
/* Get the iterator */
it = PyObject_GetIter(x);

Loading…
Cancel
Save