From 2ee2022c29ec4774eda51cb431052a9fc24982a7 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Sun, 30 Dec 2018 11:45:07 +0100 Subject: [PATCH] help Nim optimize intsets.initIntSet --- lib/pure/collections/intsets.nim | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/pure/collections/intsets.nim b/lib/pure/collections/intsets.nim index 8034e4c0a..f6d3a3d11 100644 --- a/lib/pure/collections/intsets.nim +++ b/lib/pure/collections/intsets.nim @@ -217,14 +217,13 @@ proc initIntSet*: IntSet = # newSeq(result.data, InitIntSetSize) # result.max = InitIntSetSize-1 - when defined(nimNoNilSeqs): - result.data = @[] - else: - result.data = nil - result.max = 0 - result.counter = 0 - result.head = nil - result.elems = 0 + result = IntSet( + elems: 0, + counter: 0, + max: 0, + head: nil, + data: when defined(nimNoNilSeqs): @[] else: nil) + # a: array[0..33, int] # profiling shows that 34 elements are enough proc clear*(result: var IntSet) = ## Clears the IntSet back to an empty state.