Mercurial > vim
comparison src/json.c @ 20392:4c317d8c1051 v8.2.0751
patch 8.2.0751: Vim9: performance can be improved
Commit: https://github.com/vim/vim/commit/7e9f351b2e69b498c4ee5004d7459844e1ba191a
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed May 13 22:44:22 2020 +0200
patch 8.2.0751: Vim9: performance can be improved
Problem: Vim9: performance can be improved.
Solution: Don't call break. Inline check for list materialize. Make an
inline version of ga_grow().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 13 May 2020 22:45:04 +0200 |
parents | 1f42c49c3d29 |
children | 947e50e438d3 |
comparison
equal
deleted
inserted
replaced
20391:9ceee4daa596 | 20392:4c317d8c1051 |
---|---|
263 { | 263 { |
264 listitem_T *li; | 264 listitem_T *li; |
265 | 265 |
266 l->lv_copyID = copyID; | 266 l->lv_copyID = copyID; |
267 ga_append(gap, '['); | 267 ga_append(gap, '['); |
268 range_list_materialize(l); | 268 CHECK_LIST_MATERIALIZE(l); |
269 for (li = l->lv_first; li != NULL && !got_int; ) | 269 for (li = l->lv_first; li != NULL && !got_int; ) |
270 { | 270 { |
271 if (json_encode_item(gap, &li->li_tv, copyID, | 271 if (json_encode_item(gap, &li->li_tv, copyID, |
272 options & JSON_JS) == FAIL) | 272 options & JSON_JS) == FAIL) |
273 return FAIL; | 273 return FAIL; |