From 6331d2c288165a8e1d3b8cdbe6e2017e733fffc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Fri, 21 Oct 2016 16:09:34 +0200 Subject: [PATCH] encode_value: Use MAPPING_FLAG_NO_SHRINK. The mapping with encoded values is intentionally allocated with medium sized hashtable. Shrinking it due to use of map_delete() is just a waste of cpu. Attempts to improve performance of encode_value() for objects, programs and functions a bit more. --- src/encode.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/encode.c b/src/encode.c index 294dab7cbe..508fa3cd9f 100644 --- a/src/encode.c +++ b/src/encode.c @@ -1883,6 +1883,7 @@ void f_encode_value(INT32 args) initialize_buf(&data->buf); data->canonic = 0; data->encoded=allocate_mapping(128); + data->encoded->data->flags |= MAPPING_FLAG_NO_SHRINK; data->delayed = allocate_array (0); SET_SVAL(data->counter, T_INT, NUMBER_NUMBER, integer, COUNTER_START); -- GitLab