Skip to content

Commit ab8d4b6

Browse files
feat: optimize concat
one less global lookup and one less GetAttrStr per `concat` call
1 parent 008f5d8 commit ab8d4b6

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

cytoolz/itertoolz.pyx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -692,6 +692,9 @@ cpdef object get(object ind, object seq, object default='__no__default__'):
692692
return val
693693

694694

695+
cdef object _chain_from_iterable = chain.from_iterable
696+
697+
695698
cpdef object concat(object seqs):
696699
"""
697700
Concatenate zero or more iterables, any of which may be infinite.
@@ -708,7 +711,7 @@ cpdef object concat(object seqs):
708711
See also:
709712
itertools.chain.from_iterable equivalent
710713
"""
711-
return chain.from_iterable(seqs)
714+
return _chain_from_iterable(seqs)
712715

713716

714717
def concatv(*seqs):
@@ -721,7 +724,7 @@ def concatv(*seqs):
721724
See also:
722725
itertools.chain
723726
"""
724-
return chain.from_iterable(seqs)
727+
return _chain_from_iterable(seqs)
725728

726729

727730
cpdef object mapcat(object func, object seqs):

0 commit comments

Comments
 (0)