From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.bugs Subject: [bug #30901] High runtime variance Date: Sun, 29 Aug 2010 19:49:06 +0000 Message-ID: <20100829-194905.sv20118.717@savannah.gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain;charset=UTF-8 X-Trace: dough.gmane.org 1283111363 2898 80.91.229.12 (29 Aug 2010 19:49:23 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 29 Aug 2010 19:49:23 +0000 (UTC) To: Andy Wingo , bug-guile@gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Sun Aug 29 21:49:21 2010 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OpnsU-0005ak-Et for guile-bugs@m.gmane.org; Sun, 29 Aug 2010 21:49:18 +0200 Original-Received: from localhost ([127.0.0.1]:51337 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OpnsT-0000UT-Q8 for guile-bugs@m.gmane.org; Sun, 29 Aug 2010 15:49:17 -0400 Original-Received: from [140.186.70.92] (port=50836 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OpnsK-0000TI-CK for bug-guile@gnu.org; Sun, 29 Aug 2010 15:49:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OpnsI-0000i9-UY for bug-guile@gnu.org; Sun, 29 Aug 2010 15:49:08 -0400 Original-Received: from colonialone.fsf.org ([140.186.70.51]:36833 helo=internal.in.savannah.gnu.org) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OpnsI-0000i4-Qy for bug-guile@gnu.org; Sun, 29 Aug 2010 15:49:06 -0400 Original-Received: from [10.1.0.103] (helo=frontend.in.savannah.gnu.org) by internal.in.savannah.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OpnsI-0006wb-8V; Sun, 29 Aug 2010 19:49:06 +0000 Original-Received: from www-data by frontend.in.savannah.gnu.org with local (Exim 4.69) (envelope-from ) id 1OpnsI-00077v-64; Sun, 29 Aug 2010 19:49:06 +0000 X-Savane-Server: savannah.gnu.org:443 [10.1.0.103] X-Savane-Project: guile X-Savane-Tracker: bugs X-Savane-Item-ID: 30901 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Safari/531.2+ Epiphany/2.30.2 X-Apparently-From: 75.28.21.123 (Savane authenticated user wingo) Original-References: In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: bug-guile@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:4751 Archived-At: URL: Summary: High runtime variance Project: Guile Submitted by: wingo Submitted on: Sun Aug 29 19:49:05 2010 Category: None Severity: 3 - Normal Item Group: None Status: None Privacy: Public Assigned to: None Open/Closed: Open Discussion Lock: Any _______________________________________________________ Details: Luca Saiu made an interesting test case: http://thread.gmane.org/gmane.lisp.guile.bugs/4538 It runs Guile ten times, each time running a recursive fibonacci function three times in a row. Within each Guile run, the three fibonacci runs do take the same amount of time, but times vary considerably between the various Guile runs. For example, here the run results in the following: $ rm -rf ~/.cache/guile/; for i in `seq 10`; do > guile --autocompile q.scm; echo; done ;;; note: autocompilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-autocompile argument to disable. ;;; compiling q.scm ;;; compiled /home/wingo/.cache/guile/ccache/2.0-0.R-LE-8/tmp/q.scm.go (begin (fibo n)) returned 9227465 in 3.13 seconds. (begin (fibo n)) returned 9227465 in 3.13 seconds. (begin (fibo n)) returned 9227465 in 3.13 seconds. (begin (fibo n)) returned 9227465 in 3.04 seconds. (begin (fibo n)) returned 9227465 in 3.04 seconds. (begin (fibo n)) returned 9227465 in 3.04 seconds. (begin (fibo n)) returned 9227465 in 3.24 seconds. (begin (fibo n)) returned 9227465 in 3.24 seconds. (begin (fibo n)) returned 9227465 in 3.25 seconds. (begin (fibo n)) returned 9227465 in 3.13 seconds. (begin (fibo n)) returned 9227465 in 3.15 seconds. (begin (fibo n)) returned 9227465 in 3.14 seconds. (begin (fibo n)) returned 9227465 in 3.25 seconds. (begin (fibo n)) returned 9227465 in 3.24 seconds. (begin (fibo n)) returned 9227465 in 3.25 seconds. (begin (fibo n)) returned 9227465 in 3.65 seconds. (begin (fibo n)) returned 9227465 in 3.65 seconds. (begin (fibo n)) returned 9227465 in 3.63 seconds. (begin (fibo n)) returned 9227465 in 3.36 seconds. (begin (fibo n)) returned 9227465 in 3.37 seconds. (begin (fibo n)) returned 9227465 in 3.38 seconds. (begin (fibo n)) returned 9227465 in 3.33 seconds. (begin (fibo n)) returned 9227465 in 3.35 seconds. (begin (fibo n)) returned 9227465 in 3.33 seconds. (begin (fibo n)) returned 9227465 in 3.6 seconds. (begin (fibo n)) returned 9227465 in 3.6 seconds. (begin (fibo n)) returned 9227465 in 3.61 seconds. (begin (fibo n)) returned 9227465 in 3.4 seconds. (begin (fibo n)) returned 9227465 in 3.41 seconds. (begin (fibo n)) returned 9227465 in 3.4 seconds. In that thread I mentioned that I suspected it was GC, but that doesn't sound likely, as this benchmark doesn't cons. So perhaps it is indeed alignment. The next step here is to run Guile under oprofile or perf, detecting such things as cache misses. _______________________________________________________ Reply to this item at: _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/