From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Andreas Politz Newsgroups: gmane.emacs.devel Subject: Re: Why does adding a useless copy-sequence and discarding the result make my ELisp 40 times faster? Date: Sat, 25 Mar 2017 11:47:01 +0100 Message-ID: <871stlhbve.fsf@luca> References: <77900613-3b45-52f4-5770-38fe6f27e69c@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1490438879 14270 195.159.176.226 (25 Mar 2017 10:47:59 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 25 Mar 2017 10:47:59 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) Cc: Emacs developers To: =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Mar 25 11:47:53 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1crjEc-0002fN-TO for ged-emacs-devel@m.gmane.org; Sat, 25 Mar 2017 11:47:51 +0100 Original-Received: from localhost ([::1]:36674 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1crjEi-00056G-Dr for ged-emacs-devel@m.gmane.org; Sat, 25 Mar 2017 06:47:56 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60405) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1crjE6-000541-V0 for emacs-devel@gnu.org; Sat, 25 Mar 2017 06:47:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1crjE3-00016T-Ry for emacs-devel@gnu.org; Sat, 25 Mar 2017 06:47:18 -0400 Original-Received: from gateway-a.fh-trier.de ([143.93.54.181]:56150) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1crjE3-000166-KY for emacs-devel@gnu.org; Sat, 25 Mar 2017 06:47:15 -0400 X-Virus-Scanned: by Amavisd-new + McAfee uvscan + ClamAV [Rechenzentrum Hochschule Trier (RZ/HT)] Original-Received: from localhost (ip5f5bdecf.dynamic.kabel-deutschland.de [95.91.222.207]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: politza) by gateway-a.fh-trier.de (Postfix) with ESMTPSA id 9A382179B4E7; Sat, 25 Mar 2017 11:47:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=hochschule-trier.de; s=default; t=1490438821; bh=EPT11FqbSLYKos06UwmyZidi5Jk=; h=From:To:Cc:Subject:References:Date:In-Reply-To:Message-ID: MIME-Version:Content-Type:Content-Transfer-Encoding; b=fcdCAsRYyORdTpzdi9wJZ/f88Af72c76mDXi8pt5l66P1GjHVxmFq9Ds9ROX4LAk1 Pwb+gp8F1jfaf4Iu3I2RAvpDSbu2l0fU7ydie4wUz+4fp0nbiJA0KZpDfzbLUR/wTF 4AY6cjr4uVR7G/pAVq+rfYS1u5cUSETzhSMyzxEU= In-Reply-To: <77900613-3b45-52f4-5770-38fe6f27e69c@gmail.com> (=?utf-8?Q?=22Cl=C3=A9ment?= Pit-Claudel"'s message of "Sat, 25 Mar 2017 00:24:20 -0400") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x [fuzzy] X-Received-From: 143.93.54.181 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:213335 Archived-At: Cl=C3=A9ment Pit-Claudel writes: > On 2017-03-25 00:06, Cl=C3=A9ment Pit-Claudel wrote: >> * Why does running additional, supposedly useless code speed things up s= o much? (1) > > Interestingly, it turns out that (copy-sequence) isn't needed: > instead, it's enough to use (sleep-for 0.000001) (or even (sleep-for > cl-least-positive-normalized-float)) to get the 40x speedup. What about this explanation: If you make Emacs wait inside the loop, it can send some of the strings immediately. Otherwise, it'll have to store them all/some in memory first. -ap