From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 17 16:50:06 2024 Received: (at submit) by debbugs.gnu.org; 17 Aug 2024 20:50:06 +0000 Received: from localhost ([127.0.0.1]:55028 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sfQNC-0004NN-E0 for submit@debbugs.gnu.org; Sat, 17 Aug 2024 16:50:06 -0400 Received: from lists.gnu.org ([209.51.188.17]:51314) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sfQNA-0004NF-Nt for submit@debbugs.gnu.org; Sat, 17 Aug 2024 16:50:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sfQKR-0002zU-49 for bug-guile@gnu.org; Sat, 17 Aug 2024 16:47:15 -0400 Received: from relay6-d.mail.gandi.net ([2001:4b98:dc4:8::226]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sfQKP-0001gp-9F for bug-guile@gnu.org; Sat, 17 Aug 2024 16:47:14 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 2B6B4C0002 for ; Sat, 17 Aug 2024 20:47:06 +0000 (UTC) Message-ID: Date: Sat, 17 Aug 2024 20:47:03 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.0 Content-Language: en-US To: bug-guile@gnu.org From: spacecadet Subject: big lets are deathly slow Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-GND-Sasl: spacecadet@purge.sh Received-SPF: pass client-ip=2001:4b98:dc4:8::226; envelope-from=spacecadet@purge.sh; helo=relay6-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.6 (--) performance of let seems to be about O(n^2) for n bindings bash script to reproduce range="$1" time guile --no-auto-compile <( printf "(let ("; for i in $(seq 0 $range); do printf "(foo%s 'bar)" $i; done; printf ") '())" ) $ ./let.sh 10000 real 0m1.059s user 0m1.306s sys 0m0.064s $ ./let.sh 20000 real 0m3.901s user 0m4.197s sys 0m0.078s $ ./let.sh 40000 real 0m14.955s user 0m15.707s sys 0m0.188s $ ./let.sh 80000 ./let.sh: line 2: 6182 Segmentation fault guile --no-auto-compile <( printf '(let ('; for i in $(seq 0 $range); do printf '(foo%s '"'"'bar)' $i; done; printf ") '())" ) real 0m58.146s user 0m59.156s sys 0m0.326s