bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #30901] High runtime variance


From: Andy Wingo
Subject: [bug #30901] High runtime variance
Date: Sun, 29 Aug 2010 19:49:06 +0000
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

URL:
  <http://savannah.gnu.org/bugs/?30901>

                 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:

  <http://savannah.gnu.org/bugs/?30901>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]