Skip to content

Commit d16bed1

Browse files
Speed up teedataobject_jumplink() by passing state from teeobject
1 parent d7bd16a commit d16bed1

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

Modules/itertoolsmodule.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -739,10 +739,9 @@ teedataobject_newinternal(itertools_state *state, PyObject *it)
739739
}
740740

741741
static PyObject *
742-
teedataobject_jumplink(teedataobject *tdo)
742+
teedataobject_jumplink(itertools_state *state, teedataobject *tdo)
743743
{
744744
if (tdo->nextlink == NULL) {
745-
itertools_state *state = get_module_state_by_cls(Py_TYPE(tdo));
746745
tdo->nextlink = teedataobject_newinternal(state, tdo->it);
747746
}
748747
return Py_XNewRef(tdo->nextlink);
@@ -931,7 +930,7 @@ tee_next(teeobject *to)
931930
PyObject *value, *link;
932931

933932
if (to->index >= LINKCELLS) {
934-
link = teedataobject_jumplink(to->dataobj);
933+
link = teedataobject_jumplink(to->state, to->dataobj);
935934
if (link == NULL)
936935
return NULL;
937936
Py_SETREF(to->dataobj, (teedataobject *)link);

0 commit comments

Comments
 (0)