From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6649 invoked by alias); 5 Mar 2017 16:29:49 -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: 40739 Received: (qmail 7116 invoked from network); 5 Mar 2017 16:29:49 -0000 X-Qmail-Scanner-Diagnostics: from park01.gkg.net 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(205.235.26.22):SA:0(0.5/5.0):. Processed in 1.259983 secs); 05 Mar 2017 16:29:49 -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.5 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_SORBS_SPAM,RP_MATCHES_RCVD,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: SRS0=L5oX=2O=brasslantern.com=schaefer@bounces.park01.gkg.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at bounces.park01.gkg.net does not designate permitted sender hosts) X-Virus-Scanned: by amavisd-new at gkg.net Authentication-Results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=brasslantern-com.20150623.gappssmtp.com X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:date:in-reply-to:comments:references:to:subject :mime-version; bh=cjUh0WYBzd8O4eTkcCxkzc13K33zdBXkhX4+ySvk5Js=; b=lPrWQK39lDIUHpGR8INVRxO9rtWyCdyryST3+tJa1TnwriHrIu9IDTatmoEp/ysXXf cjURH1sxTJ8/NYXa8wNihY/cfF+OvmqWKaLRvaPFhZH916OplhsGTiTLJ3I7HhW6Ps4F 7H8m5FLXinHiyeK7f3xyOY8McJtkW3R7zwGTut3A12MvbgtRHA2RREFgHAF5zetMSY1D eB7wYwzKbh+gWYLjF7EwZN6LJMvscnCQ1onVEUsRAa8lJP9hjv8VQHDPMH+BnUE20iMu jo9JFNHXpyaN0BdNdejDjt7LtgYOgJRk/l06iGz/UClrQa/HcpR5WCaV0Lra2uIZX8FU ZlFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version; bh=cjUh0WYBzd8O4eTkcCxkzc13K33zdBXkhX4+ySvk5Js=; b=onZXkzI7D7q9l+fTfQ1MZsCVxhH2veHqQKYTduMNZWhxTHFVK2x8MGWPFVVYObxU0I Gkt3Js+/DP+vug636OBUlsNZgjfY+xfXxttRAf76GTxAbJ9Cj3H1VUxh8VIO3piejRfn JYlE4/edl40Zvf0jO00odN9dNuzD7Sw1zwBW29CZmdLV6Ri3UXxjDdzwE8C53etbQoHY 7m8YWJv/q71BS0s6BW55fbvXpX+uAVsH27p7vSHvCqjxgRa3gIgn+xFgBvpsGwO/KgxJ wSP8i/3ZeB5cM0QGZ1m8rC/2MCx6+tUaIi5AEY0kiIDQSwTfRB81kqO5j1uO3vEe1a2e Tjpg== X-Gm-Message-State: AMke39lkZ5kapZRWd6ndDm+L1oxn3/EUE3xt7SZlBw/jhI65eVa4JhAMeix6b8dFIdFz+Q== X-Received: by 10.159.38.119 with SMTP id 110mr5745765uag.8.1488731374196; Sun, 05 Mar 2017 08:29:34 -0800 (PST) From: Bart Schaefer Message-Id: <170305082957.ZM24917@torch.brasslantern.com> Date: Sun, 5 Mar 2017 08:29:57 -0800 In-Reply-To: <1488706321.1960459.900808664.5940C1B0@webmail.messagingengine.com> Comments: In reply to Sebastian Gniazdowski "Re: Status of optimiza tions - can have n ative buffers" (Mar 5, 1:32am) References: <1488635394.1730469.900258024.2D9CA43E@webmail.messagingengine.com> <170304160050.ZM28828@torch.brasslantern.com> <1488706321.1960459.900808664.5940C1B0@webmail.messagingengine.com> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-workers@zsh.org Subject: Re: Status of optimiza tions - can have n ative buffers MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Mar 5, 1:32am, Sebastian Gniazdowski wrote: } } result from with-patch current-head run: } } 29,965,124,064 arrlen_le [/usr/local/bin/zsh-5.3.1-dev-0_O2_bopt] } 29,965,124,049 arrlen_gt [/usr/local/bin/zsh-5.3.1-dev-0_O2_bopt] } 6,668,004,434 arrlen [/usr/local/bin/zsh-5.3.1-dev-0_O2_bopt] Well now THAT is interesting. Same total number of calls but now they're split exactly half _le and half _gt. This in turn strongly suggests that the calls are the one my patch changed in params.c, and the one currently at line 2567 in subst.c. If we could figure out whether these two are actually examining the length of the same array each time, there might be a way (cache in the struct value, as with the "arr" field?) to cut this in half.