zsh-workers
 help / color / mirror / code / Atom feed
From: Sebastian Gniazdowski <sgniazdowski@gmail.com>
To: Zsh hackers list <zsh-workers@zsh.org>
Subject: Optimizing (z)-flag
Date: Sun, 11 Aug 2019 20:20:16 +0200	[thread overview]
Message-ID: <CAKc7PVDsoqFRB3m73ppmE2HqxT6kkUhDRHMWWp2OLdPK3VFFLw@mail.gmail.com> (raw)

Hello,
I'm thinking: why the (z) flag runs significantly slower that a zsh
executing the same script / text? It points that the cause should be
the way that (z) stores resulting elements. I suspect that it in
general doesn't use realloc() to extend the destination array but
instead some kind of allocate new larger buffer / copy / free the
previous buffer. So the possible optimization could be to use realloc,
a method that has already been proven, as it is used when appending to
arrays.

Am I right? Where is the code of (z) flag aggregating the resulting
elements located? It's hard to find as it's somewhere between the
lex.c and subst.c.

The advantages of providing such optimization would span over e.g.
syntax-highlighting plugins.
--
Sebastian Gniazdowski
News: https://twitter.com/ZdharmaI
IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin
Blog: http://zdharma.org

             reply	other threads:[~2019-08-11 18:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-11 18:20 Sebastian Gniazdowski [this message]
2019-08-11 18:37 ` Bart Schaefer
2019-08-11 19:20   ` Sebastian Gniazdowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKc7PVDsoqFRB3m73ppmE2HqxT6kkUhDRHMWWp2OLdPK3VFFLw@mail.gmail.com \
    --to=sgniazdowski@gmail.com \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).