From 9aecdb587bdc8d392d37cc12268e42456daf50d5 Mon Sep 17 00:00:00 2001 From: def Date: Tue, 2 Feb 2016 12:47:40 +0100 Subject: Initialize JObject fields with capacity 4 by default to save memory and improve performance --- lib/pure/json.nim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/pure/json.nim b/lib/pure/json.nim index 61b061b7f..b53bc3f02 100644 --- a/lib/pure/json.nim +++ b/lib/pure/json.nim @@ -617,7 +617,7 @@ proc newJObject*(): JsonNode = ## Creates a new `JObject JsonNode` new(result) result.kind = JObject - result.fields = initTable[string, JsonNode]() + result.fields = initTable[string, JsonNode](4) proc newJArray*(): JsonNode = ## Creates a new `JArray JsonNode` @@ -657,7 +657,7 @@ proc getBVal*(n: JsonNode, default: bool = false): bool = else: return n.bval proc getFields*(n: JsonNode, - default = initTable[string, JsonNode]()): + default = initTable[string, JsonNode](4)): Table[string, JsonNode] = ## Retrieves the key, value pairs of a `JObject JsonNode`. ## @@ -700,7 +700,7 @@ proc `%`*(keyVals: openArray[tuple[key: string, val: JsonNode]]): JsonNode = ## Generic constructor for JSON data. Creates a new `JObject JsonNode` new(result) result.kind = JObject - result.fields = initTable[string, JsonNode]() + result.fields = initTable[string, JsonNode](4) for key, val in items(keyVals): result.fields[key] = val proc `%`*(elements: openArray[JsonNode]): JsonNode = -- cgit 1.4.1-2-gfad0