From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.lisp.guile.bugs Subject: bug#17147: Performance regression by 3000000% for evaluating "and" form Date: Mon, 31 Mar 2014 11:58:00 +0200 Message-ID: <87k3ban107.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1396259957 7260 80.91.229.3 (31 Mar 2014 09:59:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 31 Mar 2014 09:59:17 +0000 (UTC) To: 17147@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Mon Mar 31 11:59:11 2014 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WUYzl-0007rG-88 for guile-bugs@m.gmane.org; Mon, 31 Mar 2014 11:59:09 +0200 Original-Received: from localhost ([::1]:47855 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUYzk-0000hh-QJ for guile-bugs@m.gmane.org; Mon, 31 Mar 2014 05:59:08 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51363) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUYzg-0000f3-Dp for bug-guile@gnu.org; Mon, 31 Mar 2014 05:59:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WUYzf-0004LI-DJ for bug-guile@gnu.org; Mon, 31 Mar 2014 05:59:04 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:56422) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUYzf-0004LD-9m for bug-guile@gnu.org; Mon, 31 Mar 2014 05:59:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WUYze-00055a-Rs for bug-guile@gnu.org; Mon, 31 Mar 2014 05:59:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: David Kastrup Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Mon, 31 Mar 2014 09:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 17147 X-GNU-PR-Package: guile X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.139625992619530 (code B ref -1); Mon, 31 Mar 2014 09:59:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 31 Mar 2014 09:58:46 +0000 Original-Received: from localhost ([127.0.0.1]:57604 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WUYzN-00054w-LN for submit@debbugs.gnu.org; Mon, 31 Mar 2014 05:58:46 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:49592) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WUYzL-00054l-AY for submit@debbugs.gnu.org; Mon, 31 Mar 2014 05:58:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WUYzJ-0004Jn-W6 for submit@debbugs.gnu.org; Mon, 31 Mar 2014 05:58:42 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:58836) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUYzJ-0004Jj-T5 for submit@debbugs.gnu.org; Mon, 31 Mar 2014 05:58:41 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51313) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUYzI-0000bU-Qh for bug-guile@gnu.org; Mon, 31 Mar 2014 05:58:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WUYzH-0004JX-Tc for bug-guile@gnu.org; Mon, 31 Mar 2014 05:58:40 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:59676) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUYzH-0004JT-QS for bug-guile@gnu.org; Mon, 31 Mar 2014 05:58:39 -0400 Original-Received: from localhost ([127.0.0.1]:38619 helo=lola) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUYzH-0008Vm-9R for bug-guile@gnu.org; Mon, 31 Mar 2014 05:58:39 -0400 Original-Received: by lola (Postfix, from userid 1000) id 9D6A9E0457; Mon, 31 Mar 2014 11:58:00 +0200 (CEST) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7427 Archived-At: --=-=-= Content-Type: text/plain The following program goes from 2.3ms execution time to 80s execution time when going from Guile-1.8 to current master. --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=zorpo.scm (use-modules (srfi srfi-19)) (define start-time (current-time)) (primitive-eval (cons 'and (make-list 10000 #f))) (display (time-difference (current-time) start-time)) --=-=-= Content-Type: text/plain With Guile-2.0.9 (Ubuntu package), it crashes with Backtrace: In ice-9/psyntax.scm: 2683: 19 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 18 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 17 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 16 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 15 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 14 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 13 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 12 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 11 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 10 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 9 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 8 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 7 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 6 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 5 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 4 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 3 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 2 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 1 [match-each-any (#f #f #f ...) ((#f top) shift) ...] 2683: 0 [match-each-any (#f #f #f ...) ((#f top) shift) ...] ice-9/psyntax.scm:2683:37: In procedure match-each-any: ice-9/psyntax.scm:2683:37: Throw to key `vm-error' with args `(vm-run "VM: Stack overflow" ())'. which might give a clue as to where Guile-v2 is spending all its time. -- David Kastrup --=-=-=--