From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9172 invoked by alias); 4 Jun 2017 07:18:34 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 41219 Received: (qmail 26667 invoked from network); 4 Jun 2017 07:18:34 -0000 X-Qmail-Scanner-Diagnostics: from aok120.rev.netart.pl by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(85.128.245.120):SA:0(0.0/5.0):. Processed in 1.194106 secs); 04 Jun 2017 07:18:34 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: psprint@zdharma.org X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at zdharma.org does not designate permitted sender hosts) X-Virus-Scanned: by amavisd-new using ClamAV (11) Date: Sun, 4 Jun 2017 09:18:26 +0200 From: Sebastian Gniazdowski To: Bart Schaefer , zsh-workers@zsh.org Message-ID: In-Reply-To: <170603175449.ZM16110@torch.brasslantern.com> References: <170603175449.ZM16110@torch.brasslantern.com> Subject: Re: Improving zcompdump (Re: A patch with hashtable optimization, which doesn't work) X-Mailer: Airmail (231) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="5933b442_19495cff_c8d8" --5933b442_19495cff_c8d8 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline On 4 czerwca 2017 at 02:54:57, Bart Schaefer (schaefer@brasslantern.com) wrote: > On Jun 3, 4:11pm, Sebastian Gniazdowski wrote: > } Subject: Re: Improving zcompdump (Re: A patch with hashtable optimization, > } > } On 20 maja 2017 at 19:08:09, Bart Schaefer (schaefer@brasslantern.com) wrote: > } > How much does zcompdump actually help? Have you compared startup with > } > and without it? > > Haven't seen that yet (nor tried it myself, tho). It wasn't me in the "How does .." > } > One lesson learned with Completion/Base/Utility/_store_cache is that > } > parsing array assignments is expensive. > } > } Results seem to confirm what you said > > I also tried something similar ... using the just the default set of > completions, more wall-clock time is spent restoring the autoloads > than loading the _comps array, at least on my system. Could you try patch with single-allocation in mkautofn()? Chances are low, but who knows. The patch spans also to other non-heap Eprog allocation places. -- Sebastian Gniazdowski psprint /at/ zdharma.org --5933b442_19495cff_c8d8 Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="=?utf-8?Q?ef=5Freal=5Fsingle.diff.txt?=" ZGlmZiAtLWdpdCBhL1NyYy9idWlsdGluLmMgYi9TcmMvYnVpbHRpbi5jCmluZGV4IDA2MzY0NGUu LjY4MGIxOWEgMTAwNjQ0Ci0tLSBhL1NyYy9idWlsdGluLmMKKysrIGIvU3JjL2J1aWx0aW4uYwpA QCAtMzQ4MywxNSArMzQ4MywxNSBAQCBta2F1dG9mbihTaGZ1bmMgc2hmKQogewogICAgIEVwcm9n IHA7CiAKLSAgICBwID0gKEVwcm9nKSB6YWxsb2Moc2l6ZW9mKCpwKSk7CisgICAgcCA9IChFcHJv ZykgemFsbG9jKHNpemVvZigqcCkgKyA1ICogc2l6ZW9mKHdvcmRjb2RlKSk7CiAgICAgcC0+bGVu ID0gNSAqIHNpemVvZih3b3JkY29kZSk7Ci0gICAgcC0+cHJvZyA9IChXb3JkY29kZSkgemFsbG9j KHAtPmxlbik7CisgICAgcC0+cHJvZyA9IChXb3JkY29kZSkgKCgoY2hhciopcCkrc2l6ZW9mKCpw KSk7CiAgICAgcC0+c3RycyA9IE5VTEw7CiAgICAgcC0+c2hmID0gc2hmOwogICAgIHAtPm5wYXRz ID0gMDsKICAgICBwLT5ucmVmID0gMTsgLyogYWxsb2NhdGVkIGZyb20gcGVybWFuZW50IHN0b3Jh Z2UgKi8KICAgICBwLT5wYXRzID0gKFBhdHByb2cgKikgcC0+cHJvZzsKLSAgICBwLT5mbGFncyA9 IEVGX1JFQUw7CisgICAgcC0+ZmxhZ3MgPSBFRl9SRUFMX1NJTkdMRTsgLyogbm8gYWxsb2NhdGlv biBmb3IgcC0+cHJvZyAqLwogICAgIHAtPmR1bXAgPSBOVUxMOwogCiAgICAgcC0+cHJvZ1swXSA9 IFdDQl9MSVNUKChaX1NZTkMgfCBaX0VORCksIDApOwpkaWZmIC0tZ2l0IGEvU3JjL2V4ZWMuYyBi L1NyYy9leGVjLmMKaW5kZXggZGViYjBhZS4uMDg4MDgwYiAxMDA2NDQKLS0tIGEvU3JjL2V4ZWMu YworKysgYi9TcmMvZXhlYy5jCkBAIC00OTczLDcgKzQ5NzMsMTMgQEAgZXhlY2Z1bmNkZWYoRXN0 YXRlIHN0YXRlLCBFcHJvZyByZWRpcl9wcm9nKQogCSAgICBwcm9nID0gKEVwcm9nKSB6aGFsbG9j KHNpemVvZigqcHJvZykpOwogCSAgICBwcm9nLT5ucmVmID0gLTE7IC8qIG9uIHRoZSBoZWFwICov CiAJfSBlbHNlIHsKLQkgICAgcHJvZyA9IChFcHJvZykgemFsbG9jKHNpemVvZigqcHJvZykpOwor ICAgICAgICAgICAgaWYgKHN0YXRlLT5wcm9nLT5kdW1wIHx8ICFuYW1lcykgeworICAgICAgICAg ICAgICAgIHByb2cgPSAoRXByb2cpIHphbGxvYyhzaXplb2YoKnByb2cpKTsKKyAgICAgICAgICAg IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLyogVGhlIEVGX1JFQUwgcGF0aCBiZWxvdyAqLwor ICAgICAgICAgICAgICAgIHByb2cgPSAoRXByb2cpIHphbGxvYyhzaXplb2YoKnByb2cpICsgbGVu KTsKKyAgICAgICAgICAgICAgICBwcm9nLT5wYXRzID0gcHAgPSAoUGF0cHJvZyAqKSAoKChjaGFy Kilwcm9nKStzaXplb2YoKnByb2cpKTsKKyAgICAgICAgICAgIH0KIAkgICAgcHJvZy0+bnJlZiA9 IDE7IC8qIGFsbG9jYXRlZCBmcm9tIHBlcm1hbmVudCBzdG9yYWdlICovCiAJfQogCXByb2ctPm5w YXRzID0gbnBhdHM7CkBAIC00OTkyLDggKzQ5OTgsMTEgQEAgZXhlY2Z1bmNkZWYoRXN0YXRlIHN0 YXRlLCBFcHJvZyByZWRpcl9wcm9nKQogCSAgICBwcm9nLT5wcm9nID0gc3RhdGUtPnBjOwogCSAg ICBwcm9nLT5zdHJzID0gc3RhdGUtPnN0cnMgKyBzYmVnOwogCX0gZWxzZSB7Ci0JICAgIHByb2ct PmZsYWdzID0gRUZfUkVBTDsKLQkgICAgcHJvZy0+cGF0cyA9IHBwID0gKFBhdHByb2cgKikgemFs bG9jKGxlbik7CisgICAgICAgICAgICAvKiBUaGUgRUZfUkVBTCBwYXRoICovCisJICAgIHByb2ct PmZsYWdzID0gRUZfUkVBTF9TSU5HTEU7CisJICAgIC8vIHByb2ctPnBhdHMgPSBwcCA9IChQYXRw cm9nICopIHphbGxvYyhsZW4pOworICAgICAgICAgICAgLy8gLS0+CisgICAgICAgICAgICAvLyBw cm9nLT5wYXRzID0gcHAgPSAoKChjaGFyKilwcm9nKStzaXplb2YoKnByb2cpKTsKIAkgICAgcHJv Zy0+cHJvZyA9IChXb3JkY29kZSkgKHByb2ctPnBhdHMgKyBucGF0cyk7CiAJICAgIHByb2ctPnN0 cnMgPSAoY2hhciAqKSAocHJvZy0+cHJvZyArIG5wcmcpOwogCSAgICBwcm9nLT5kdW1wID0gTlVM TDsKZGlmZiAtLWdpdCBhL1NyYy9wYXJzZS5jIGIvU3JjL3BhcnNlLmMKaW5kZXggODc2OWJhYS4u MWUxYzUyOCAxMDA2NDQKLS0tIGEvU3JjL3BhcnNlLmMKKysrIGIvU3JjL3BhcnNlLmMKQEAgLTUw NCwxOCArNTA0LDI4IEBAIGJsZF9lcHJvZyhpbnQgaGVhcCkKIAogICAgIGVjYWRkKFdDQl9FTkQo KSk7CiAKLSAgICByZXQgPSBoZWFwID8gKEVwcm9nKSB6aGFsbG9jKHNpemVvZigqcmV0KSkgOiAo RXByb2cpIHphbGxvYyhzaXplb2YoKnJldCkpOwotICAgIHJldC0+bGVuID0gKChlY25wYXRzICog c2l6ZW9mKFBhdHByb2cpKSArCi0JCShlY3VzZWQgKiBzaXplb2Yod29yZGNvZGUpKSArCi0JCWVj c29mZnMpOwotICAgIHJldC0+bnBhdHMgPSBlY25wYXRzOwotICAgIHJldC0+bnJlZiA9IGhlYXAg PyAtMSA6IDE7Ci0gICAgcmV0LT5wYXRzID0gaGVhcCA/IChQYXRwcm9nICopIHpoYWxsb2MocmV0 LT5sZW4pIDoKLQkoUGF0cHJvZyAqKSB6c2hjYWxsb2MocmV0LT5sZW4pOworICAgIGlmICggaGVh cCApIHsKKyAgICAgICAgcmV0ID0gKEVwcm9nKSB6aGFsbG9jKHNpemVvZigqcmV0KSk7CisgICAg ICAgIHJldC0+bGVuID0gKChlY25wYXRzICogc2l6ZW9mKFBhdHByb2cpKSArCisgICAgICAgICAg ICAgICAgKGVjdXNlZCAqIHNpemVvZih3b3JkY29kZSkpICsKKyAgICAgICAgICAgICAgICBlY3Nv ZmZzKTsKKyAgICAgICAgcmV0LT5ucGF0cyA9IGVjbnBhdHM7CisgICAgICAgIHJldC0+bnJlZiA9 IC0xOworICAgICAgICByZXQtPnBhdHMgPSAoUGF0cHJvZyAqKSB6aGFsbG9jKHJldC0+bGVuKTsK KyAgICB9IGVsc2UgeworICAgICAgICBpbnQgbGVuID0gKChlY25wYXRzICogc2l6ZW9mKFBhdHBy b2cpKSArCisgICAgICAgICAgICAgICAgKGVjdXNlZCAqIHNpemVvZih3b3JkY29kZSkpICsKKyAg ICAgICAgICAgICAgICBlY3NvZmZzKTsKKyAgICAgICAgcmV0ID0gKEVwcm9nKSB6YWxsb2Moc2l6 ZW9mKCpyZXQpICsgbGVuKTsKKyAgICAgICAgcmV0LT5sZW4gPSBsZW47CisgICAgICAgIHJldC0+ bnBhdHMgPSBlY25wYXRzOworICAgICAgICByZXQtPm5yZWYgPSAxOworICAgICAgICByZXQtPnBh dHMgPSAoUGF0cHJvZyAqKSAoKChjaGFyKilyZXQpK3NpemVvZigqcmV0KSk7CisgICAgfQogICAg IHJldC0+cHJvZyA9IChXb3JkY29kZSkgKHJldC0+cGF0cyArIGVjbnBhdHMpOwogICAgIHJldC0+ c3RycyA9IChjaGFyICopIChyZXQtPnByb2cgKyBlY3VzZWQpOwogICAgIHJldC0+c2hmID0gTlVM TDsKLSAgICByZXQtPmZsYWdzID0gaGVhcCA/IEVGX0hFQVAgOiBFRl9SRUFMOworICAgIHJldC0+ ZmxhZ3MgPSBoZWFwID8gRUZfSEVBUCA6IEVGX1JFQUxfU0lOR0xFOwogICAgIHJldC0+ZHVtcCA9 IE5VTEw7CiAgICAgZm9yIChsID0gMDsgbCA8IGVjbnBhdHM7IGwrKykKIAlyZXQtPnBhdHNbbF0g PSBkdW1teV9wYXRwcm9nMTsKQEAgLTI3MDksOSArMjcxOSwxNCBAQCBmcmVlZXByb2coRXByb2cg cCkKIAkgICAgaWYgKHAtPmR1bXApIHsKIAkJZGVjcmR1bXBjb3VudChwLT5kdW1wKTsKIAkJemZy ZWUocC0+cGF0cywgcC0+bnBhdHMgKiBzaXplb2YoUGF0cHJvZykpOwotCSAgICB9IGVsc2UKLQkJ emZyZWUocC0+cGF0cywgcC0+bGVuKTsKLQkgICAgemZyZWUocCwgc2l6ZW9mKCpwKSk7CisJICAg IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKCAocC0+ZmxhZ3MgJiBFRl9SRUFMX1NJTkdM RSkgPT0gMCApCisgICAgICAgICAgICAgICAgICAgIHpmcmVlKHAtPnBhdHMsIHAtPmxlbik7Cisg ICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoIChwLT5mbGFncyAmIEVGX1JFQUxfU0lOR0xF KSApCisgICAgICAgICAgICAgICAgemZyZWUocCwgc2l6ZW9mKCpwKSArIHAtPmxlbik7CisgICAg ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgemZyZWUocCwgc2l6ZW9mKCpwKSk7CiAJfQog ICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NyYy96c2guaCBiL1NyYy96c2guaAppbmRleCAyMmY3M2Y4 Li5hYjcwY2I3IDEwMDY0NAotLS0gYS9TcmMvenNoLmgKKysrIGIvU3JjL3pzaC5oCkBAIC03OTcs NiArNzk3LDcgQEAgc3RydWN0IGVwcm9nIHsKICNkZWZpbmUgRUZfSEVBUCAyCiAjZGVmaW5lIEVG X01BUCAgNAogI2RlZmluZSBFRl9SVU4gIDgKKyNkZWZpbmUgRUZfUkVBTF9TSU5HTEUgMTYKIAog dHlwZWRlZiBzdHJ1Y3QgZXN0YXRlICpFc3RhdGU7CiAK --5933b442_19495cff_c8d8--