Skip to content

Commit 9864156

Browse files
committed
make unzip a bit faster: seq[i] a bit faster than seq.add
1 parent bb777fe commit 9864156

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

lib/pure/collections/sequtils.nim

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -290,11 +290,11 @@ proc unzip*[S, T](s: openArray[(S, T)]): (seq[S], seq[T]) {.since: (1, 1).} =
290290
unzipped2 = @['a', 'b', 'c']
291291
assert zipped.unzip() == (unzipped1, unzipped2)
292292
assert zip(unzipped1, unzipped2).unzip() == (unzipped1, unzipped2)
293-
result[0] = newSeqOfCap[S](s.len)
294-
result[1] = newSeqOfCap[T](s.len)
295-
for elem in s:
296-
result[0].add(elem[0])
297-
result[1].add(elem[1])
293+
result[0] = newSeq[S](s.len)
294+
result[1] = newSeq[T](s.len)
295+
for i in 0..<s.len:
296+
result[0][i]=s[i][0]
297+
result[1][i]=s[i][1]
298298

299299
proc distribute*[T](s: seq[T], num: Positive, spread = true): seq[seq[T]] =
300300
## Splits and distributes a sequence `s` into `num` sub-sequences.

0 commit comments

Comments
 (0)