From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: slowness in guile 1.8 Date: Fri, 25 May 2007 18:33:23 +0200 Message-ID: <1180110804.4388.16.camel@localhost.localdomain> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-YQVPnINjD7/jF49eurMy" X-Trace: sea.gmane.org 1180110824 13570 80.91.229.12 (25 May 2007 16:33:44 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 25 May 2007 16:33:44 +0000 (UTC) To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri May 25 18:33:42 2007 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HrcjQ-0001Uk-1n for guile-devel@m.gmane.org; Fri, 25 May 2007 18:33:36 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HrcjP-0000Kt-G7 for guile-devel@m.gmane.org; Fri, 25 May 2007 12:33:35 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HrcjK-0000K6-6H for guile-devel@gnu.org; Fri, 25 May 2007 12:33:30 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HrcjI-0000Ju-Sm for guile-devel@gnu.org; Fri, 25 May 2007 12:33:29 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HrcjI-0000Jr-PA for guile-devel@gnu.org; Fri, 25 May 2007 12:33:28 -0400 Original-Received: from ambient.dashsystems.com ([216.27.85.7] helo=kettle.ambient-hosting.net) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HrcjI-0004Bi-6r for guile-devel@gnu.org; Fri, 25 May 2007 12:33:28 -0400 Original-Received: from localhost.localdomain (ambient-hosting.net [10.1.6.1]) by kettle.ambient-hosting.net (Postfix) with ESMTP id 601568808E for ; Fri, 25 May 2007 12:33:26 -0400 (EDT) Original-Received: by localhost.localdomain (Postfix, from userid 1000) id 4FF72119535; Fri, 25 May 2007 18:33:25 +0200 (CEST) X-Mailer: Evolution 2.10.1 X-detected-kernel: Linux 2.4-2.6 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:6615 Archived-At: --=-YQVPnINjD7/jF49eurMy Content-Type: text/plain Content-Transfer-Encoding: 7bit Hello guile devs, I am doing some profiling with guile-gnome and guile 1.8. It is significantly slower than 1.6. One reason in guile-gnome is the thinking behind e.g. this change from 2004: 2004-12-22 Marius Vollmer * boot-9.scm (module-make-local-var!): When creating a new variable, initialize it to the value of any imported variable with the given name. This allows code like (define round round) to work as expected. (There were previous changes when duplicate handlers were introduced in 2003 by Mikael.) This scheme code gets called whenever a variable is defined. The fact that guile goes through module-variable and module binders, etc etc, to compute what a value would have been *and then we throw it away*, is quite wasteful. I'm attaching a statprof log from loading (gnome gtk); out of 6.2 seconds loading the module (!), fully 3.8 of them were inside module-variable. Of course profiling interpretation is not that simple, but I think the trace shows a significant regression from 1.6, where I was able to get (gnome gtk) loading down to less than 2 seconds, which is still too much. In this particular case the solution would be to compute the value before computing the variable in which to store it. Computing the variable in which to store is then O(1) in the number of modules in the system, as it doesn't have to search the use list. Any thoughts on this? Sometimes I think I'm just ranting to an empty room ;) Cheers, Andy. -- http://wingolog.org/ --=-YQVPnINjD7/jF49eurMy Content-Disposition: attachment; filename=gnome-gtk-statprof Content-Type: text/plain; name=gnome-gtk-statprof; charset=UTF-8 Content-Transfer-Encoding: base64 Z3VpbGU+ICh3aXRoLXN0YXRwcm9mICM6aHogMTAwIChyZXNvbHZlLWludGVyZmFjZSAnKGdub21l IGd0aykpKQ0KJSAgICAgY3VtdWxhdGl2ZSAgIHNlbGYgICAgICAgICAgICAgDQp0aW1lICAgc2Vj b25kcyAgICAgc2Vjb25kcyAgICAgIG5hbWUNCiAxNi41NSAgICAgIDEuMTMgICAgICAxLjAzICBo YXNoLWZvci1lYWNoDQogMTIuNDEgICAgICAzLjgxICAgICAgMC43NyAgbW9kdWxlLXNlYXJjaA0K IDExLjM4ICAgICAgMS4yNCAgICAgIDAuNzEgICVyZWNvcmQtdHlwZS1jaGVjaw0KIDEwLjY5ICAg ICAgMi4xOCAgICAgIDAuNjYgIG1vZHVsZS1sb2NhbC12YXJpYWJsZQ0KICA1LjE3ICAgICAgMC45 NCAgICAgIDAuMzIgIG1vZHVsZS1vYmFycmF5LXJlZg0KICA1LjE3ICAgICAgMC42NiAgICAgIDAu MzIgIG1vZHVsZS1vYmFycmF5DQogIDUuMTcgICAgICAwLjMyICAgICAgMC4zMiAgcmVjb3JkLXR5 cGUtZGVzY3JpcHRvcg0KICAzLjc5ICAgICAgMC41NiAgICAgIDAuMjQgIGVxPw0KICAyLjc2ICAg ICAgNC4wNiAgICAgIDAuMTcgIG1vZHVsZS1tYWtlLWxvY2FsLXZhciENCiAgMi43NiAgICAgIDAu NjAgICAgICAwLjE3ICBtb2R1bGUtYmluZGVyDQogIDIuNDEgICAgICAwLjYwICAgICAgMC4xNSAg bW9kdWxlLXVzZXMNCiAgMi4wNyAgICAgIDYuMjAgICAgICAwLjEzICBwcmltaXRpdmUtbG9hZA0K ICAxLjcyICAgICAgMS42MiAgICAgIDAuMTEgIGZvci1lYWNoDQogIDEuMDMgICAgICAwLjEzICAg ICAgMC4wNiAgY2F0Y2gNCiAgMS4wMyAgICAgIDAuMDYgICAgICAwLjA2ICBjYWNoZS1oYXNodmFs DQogIDAuNjkgICAgICA0LjIxICAgICAgMC4wNCAgZHluYW1pYy1jYWxsDQogIDAuNjkgICAgICAw LjIxICAgICAgMC4wNCAgbW9kdWxlLWVuc3VyZS1sb2NhbC12YXJpYWJsZSENCiAgMC42OSAgICAg IDAuMDkgICAgICAwLjA0ICBtb2R1bGUtb2JhcnJheS1zZXQhDQogIDAuNjkgICAgICAwLjA2ICAg ICAgMC4wNCAgdmVjdG9yLXNldCENCiAgMC4zNCAgICAgIDAuMTUgICAgICAwLjAyICBtb2R1bGUt YWRkIQ0KICAwLjM0ICAgICAgMC4xMSAgICAgIDAuMDIgIG1vZHVsZS1tb2RpZmllZA0KICAwLjM0 ICAgICAgMC4xMSAgICAgIDAuMDIgIGFkZC1tZXRob2QhDQogIDAuMzQgICAgICAwLjA5ICAgICAg MC4wMiAgdmVjdG9yLW1hcA0KICAwLjM0ICAgICAgMC4wOSAgICAgIDAuMDIgIG1vZHVsZS1yZWYN CiAgMC4zNCAgICAgIDAuMDYgICAgICAwLjAyICBtb2R1bGUtY2FsbC1vYnNlcnZlcnMNCiAgMC4z NCAgICAgIDAuMDQgICAgICAwLjAyICBtb2R1bGUtb2JzZXJ2ZXJzDQogIDAuMzQgICAgICAwLjAy ICAgICAgMC4wMiAgbW9kdWxlLXdlYWstb2JzZXJ2ZXJzDQogIDAuMzQgICAgICAwLjAyICAgICAg MC4wMiAgbG9vcA0KICAwLjM0ICAgICAgMC4wMiAgICAgIDAuMDIgIGxvb3ANCiAgMC4zNCAgICAg IDAuMDIgICAgICAwLjAyICBsb29wDQogIDAuMzQgICAgICAwLjAyICAgICAgMC4wMiAgbG9vcA0K ICAwLjM0ICAgICAgMC4wMiAgICAgIDAuMDIgIGxvb3ANCiAgMC4zNCAgICAgIDAuMDIgICAgICAw LjAyICBsb29wDQogIDAuMzQgICAgICAwLjAyICAgICAgMC4wMiAgbG9vcA0KICAwLjM0ICAgICAg MC4wMiAgICAgIDAuMDIgIGxvb3ANCiAgMC4zNCAgICAgIDAuMDIgICAgICAwLjAyICBub3QNCiAg MC4zNCAgICAgIDAuMDIgICAgICAwLjAyICBsb29wDQogIDAuMzQgICAgICAwLjAyICAgICAgMC4w MiAgbG9vcA0KICAwLjM0ICAgICAgMC4wMiAgICAgIDAuMDIgIGxvb3ANCiAgMC4zNCAgICAgIDAu MDIgICAgICAwLjAyICBsb29wDQogIDAuMzQgICAgICAwLjAyICAgICAgMC4wMiAgbG9vcA0KICAw LjM0ICAgICAgMC4wMiAgICAgIDAuMDIgIGxvb3ANCiAgMC4zNCAgICAgIDAuMDIgICAgICAwLjAy ICBtb2R1bGUtZm9yLWVhY2gNCiAgMC4zNCAgICAgIDAuMDIgICAgICAwLjAyICBsb29wDQogIDAu MzQgICAgICAwLjAyICAgICAgMC4wMiAgbG9vcA0KICAwLjM0ICAgICAgMC4wMiAgICAgIDAuMDIg IGxvb3ANCiAgMC4zNCAgICAgIDAuMDIgICAgICAwLjAyICBndHlwZS1jbGFzcy0+dHlwZQ0KICAw LjM0ICAgICAgMC4wMiAgICAgIDAuMDIgIGxvb3ANCiAgMC4zNCAgICAgIDAuMDIgICAgICAwLjAy ICBsb29wDQogIDAuMzQgICAgICAwLjAyICAgICAgMC4wMiAgbG9vcA0KICAwLjM0ICAgICAgMC4w MiAgICAgIDAuMDIgIGhhc2gtc2V0IQ0KICAwLjM0ICAgICAgMC4wMiAgICAgIDAuMDIgIGxvb3AN CiAgMC4zNCAgICAgIDAuMDIgICAgICAwLjAyICBsb29wDQogIDAuMzQgICAgICAwLjAyICAgICAg MC4wMiAgbWFrZS1tb2R1bGUNCiAgMC4zNCAgICAgIDAuMDIgICAgICAwLjAyICBsb29wDQogIDAu MzQgICAgICAwLjAyICAgICAgMC4wMiAgbG9vcA0KICAwLjM0ICAgICAgMC4wMiAgICAgIDAuMDIg IGxvb3ANCiAgMC4wMCAgICAgIDYuMjAgICAgICAwLjAwICByZXNvbHZlLW1vZHVsZQ0KICAwLjAw ICAgICAgNi4yMCAgICAgIDAuMDAgIHRyeS1sb2FkLW1vZHVsZQ0KICAwLjAwICAgICAgNi4yMCAg ICAgIDAuMDAgIGR5bmFtaWMtd2luZA0KICAwLjAwICAgICAgNi4yMCAgICAgIDAuMDAgIHRyeS1t b2R1bGUtYXV0b2xvYWQNCiAgMC4wMCAgICAgIDYuMjAgICAgICAwLjAwICBsb2FkLWZpbGUNCiAg MC4wMCAgICAgIDYuMjAgICAgICAwLjAwICByZXNvbHZlLWludGVyZmFjZQ0KICAwLjAwICAgICAg Ni4yMCAgICAgIDAuMDAgIHByaW1pdGl2ZS1ldmFsDQogIDAuMDAgICAgICA2LjIwICAgICAgMC4w MCAgc2F2ZS1tb2R1bGUtZXhjdXJzaW9uDQogIDAuMDAgICAgICA2LjIwICAgICAgMC4wMCAgd2l0 aC1mbHVpZCoNCiAgMC4wMCAgICAgIDUuNjcgICAgICAwLjAwICBwcm9jZXNzLXVzZS1tb2R1bGVz DQogIDAuMDAgICAgICA0Ljc3ICAgICAgMC4wMCAgbWFwDQogIDAuMDAgICAgICA0Ljc1ICAgICAg MC4wMCAgYXBwbHkNCiAgMC4wMCAgICAgIDMuODEgICAgICAwLjAwICBtb2R1bGUtdmFyaWFibGUN CiAgMC4wMCAgICAgIDMuMjkgICAgICAwLjAwICBsb2FkLWZpbGUNCiAgMC4wMCAgICAgIDEuMTgg ICAgICAwLjAwICBtb2R1bGUtdXNlLWludGVyZmFjZXMhDQogIDAuMDAgICAgICAxLjE1ICAgICAg MC4wMCAgcHJvY2Vzcy1kdXBsaWNhdGVzDQogIDAuMDAgICAgICAwLjk4ICAgICAgMC4wMCAgbG9h ZC1maWxlDQogIDAuMDAgICAgICAwLjQ3ICAgICAgMC4wMCAgcHJvY2Vzcy1kZWZpbmUtbW9kdWxl DQogIDAuMDAgICAgICAwLjQzICAgICAgMC4wMCAgbW9kdWxlLWV4cG9ydCENCiAgMC4wMCAgICAg IDAuMzYgICAgICAwLjAwICBsb2FkLWZpbGUNCiAgMC4wMCAgICAgIDAuMzQgICAgICAwLjAwICBs b2FkLWZpbGUNCiAgMC4wMCAgICAgIDAuMzAgICAgICAwLjAwICBsb29wDQogIDAuMDAgICAgICAw LjI0ICAgICAgMC4wMCAgaW5pdGlhbGl6ZQ0KICAwLjAwICAgICAgMC4yNCAgICAgIDAuMDAgIG1h a2UtaW5zdGFuY2UNCiAgMC4wMCAgICAgIDAuMTkgICAgICAwLjAwICAlZ3ctbW9kdWxlLWJpbmRl cg0KICAwLjAwICAgICAgMC4xOSAgICAgIDAuMDAgIGd0eXBlLT5jbGFzcw0KICAwLjAwICAgICAg MC4xNyAgICAgIDAuMDAgIGdvYmplY3QtY2xhc3Mtc2V0LXByb3BlcnRpZXMhDQogIDAuMDAgICAg ICAwLjE1ICAgICAgMC4wMCAgbWV0aG9kLWNhY2hlLWluc3RhbGwhDQogIDAuMDAgICAgICAwLjE1 ICAgICAgMC4wMCAgbWVtb2l6ZS1tZXRob2QhDQogIDAuMDAgICAgICAwLjEzICAgICAgMC4wMCAg Y2FjaGUtdHJ5LWhhc2ghDQogIDAuMDAgICAgICAwLjEzICAgICAgMC4wMCAgaGFzaGVkLW1ldGhv ZC1jYWNoZS1pbnNlcnQhDQogIDAuMDAgICAgICAwLjEzICAgICAgMC4wMCAgZ2V0LWRpcmVjdC1z dXBlcnMNCiAgMC4wMCAgICAgIDAuMDkgICAgICAwLjAwICAlZ3ctbW9kdWxlLWJpbmRlcg0KICAw LjAwICAgICAgMC4wOSAgICAgIDAuMDAgIGxvYWQtZmlsZQ0KICAwLjAwICAgICAgMC4wOSAgICAg IDAuMDAgIGdvYmplY3QtdHlwZS1nZXQtcHJvcGVydGllcw0KICAwLjAwICAgICAgMC4wOSAgICAg IDAuMDAgIG1ha2UtY2xhc3MNCiAgMC4wMCAgICAgIDAuMDkgICAgICAwLjAwICBkZWZpbmVkPw0K ICAwLjAwICAgICAgMC4wNiAgICAgIDAuMDAgIGxvb3ANCiAgMC4wMCAgICAgIDAuMDYgICAgICAw LjAwICBjb25zKg0KICAwLjAwICAgICAgMC4wNiAgICAgIDAuMDAgIGxvZ2FuZA0KICAwLjAwICAg ICAgMC4wNiAgICAgIDAuMDAgIG1vZHVsZS1wdWJsaWMtaW50ZXJmYWNlDQogIDAuMDAgICAgICAw LjA0ICAgICAgMC4wMCAgbG9hZC1maWxlDQogIDAuMDAgICAgICAwLjA0ICAgICAgMC4wMCAgaW5p dC1nb2JqZWN0LWNsYXNzDQogIDAuMDAgICAgICAwLjA0ICAgICAgMC4wMCAgZXNwZWNpZnktbWV0 YWNsYXNzIQ0KICAwLjAwICAgICAgMC4wMiAgICAgIDAuMDAgIGxvb3ANCiAgMC4wMCAgICAgIDAu MDIgICAgICAwLjAwICBsb29wDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgbG9vcA0KICAw LjAwICAgICAgMC4wMiAgICAgIDAuMDAgIGxvb3ANCiAgMC4wMCAgICAgIDAuMDIgICAgICAwLjAw ICBjb21wdXRlLW5ldy1saXN0LW9mLW1ldGhvZHMNCiAgMC4wMCAgICAgIDAuMDIgICAgICAwLjAw ICBoYXNoLWZvbGQNCiAgMC4wMCAgICAgIDAuMDIgICAgICAwLjAwICBiZWF1dGlmeS11c2VyLW1v ZHVsZSENCiAgMC4wMCAgICAgIDAuMDIgICAgICAwLjAwICBsb29wDQogIDAuMDAgICAgICAwLjAy ICAgICAgMC4wMCAgbG9vcA0KICAwLjAwICAgICAgMC4wMiAgICAgIDAuMDAgIGxpc3QNCiAgMC4w MCAgICAgIDAuMDIgICAgICAwLjAwICBsb29wDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAg aW5pdC1nb2JqZWN0LWNsYXNzDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgY29tcGlsZS1t ZXRob2QNCiAgMC4wMCAgICAgIDAuMDIgICAgICAwLjAwICBsb29wDQogIDAuMDAgICAgICAwLjAy ICAgICAgMC4wMCAgaW5pdC1nb2JqZWN0LWNsYXNzDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4w MCAgaW5pdC1nb2JqZWN0LWNsYXNzDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgbG9vcA0K ICAwLjAwICAgICAgMC4wMiAgICAgIDAuMDAgIG1vZHVsZS11c2UhDQogIDAuMDAgICAgICAwLjAy ICAgICAgMC4wMCAgbG9hZC1maWxlDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgbG9vcA0K ICAwLjAwICAgICAgMC4wMiAgICAgIDAuMDAgIGxvb3ANCiAgMC4wMCAgICAgIDAuMDIgICAgICAw LjAwICBsb29wDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgbG9vcA0KICAwLjAwICAgICAg MC4wMiAgICAgIDAuMDAgIGxvb3ANCiAgMC4wMCAgICAgIDAuMDIgICAgICAwLjAwICBsb29wDQog IDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgbmV4dC1tZXRob2Q/DQogIDAuMDAgICAgICAwLjAy ICAgICAgMC4wMCAgaW5pdC1nb2JqZWN0LWNsYXNzDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4w MCAgbG9vcA0KICAwLjAwICAgICAgMC4wMiAgICAgIDAuMDAgIGluaXQtZ29iamVjdC1jbGFzcw0K ICAwLjAwICAgICAgMC4wMiAgICAgIDAuMDAgIGluaXQtZ29iamVjdC1jbGFzcw0KICAwLjAwICAg ICAgMC4wMiAgICAgIDAuMDAgIGNvbXB1dGUtZW50cnktd2l0aC1jbWV0aG9kDQogIDAuMDAgICAg ICAwLjAyICAgICAgMC4wMCAgbG9vcA0KICAwLjAwICAgICAgMC4wMiAgICAgIDAuMDAgIGxvb3AN CiAgMC4wMCAgICAgIDAuMDIgICAgICAwLjAwICBsb29wDQogIDAuMDAgICAgICAwLjAyICAgICAg MC4wMCAgbG9vcA0KICAwLjAwICAgICAgMC4wMiAgICAgIDAuMDAgIGxvb3ANCiAgMC4wMCAgICAg IDAuMDIgICAgICAwLjAwICBsb29wDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgbG9vcA0K ICAwLjAwICAgICAgMC4wMiAgICAgIDAuMDAgIGxvb3ANCiAgMC4wMCAgICAgIDAuMDIgICAgICAw LjAwICBsb29wDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgbG9vcA0KICAwLjAwICAgICAg MC4wMiAgICAgIDAuMDAgIGxvb3ANCiAgMC4wMCAgICAgIDAuMDIgICAgICAwLjAwICBsb29wDQog IDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgbG9vcA0KICAwLjAwICAgICAgMC4wMiAgICAgIDAu MDAgIGNsYXNzLW9mDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgc2xvdC1zZXQhDQogIDAu MDAgICAgICAwLjAyICAgICAgMC4wMCAgbWVtdg0KICAwLjAwICAgICAgMC4wMiAgICAgIDAuMDAg IGxvb3ANCiAgMC4wMCAgICAgIDAuMDIgICAgICAwLjAwICBsb29wDQogIDAuMDAgICAgICAwLjAy ICAgICAgMC4wMCAgY29tcHV0ZS1zbG90LWFjY2Vzc29ycw0KICAwLjAwICAgICAgMC4wMiAgICAg IDAuMDAgIGZpbmQtZHVwbGljYXRlDQogIDAuMDAgICAgICAwLjAyICAgICAgMC4wMCAgbG9vcA0K LS0tDQpTYW1wbGUgY291bnQ6IDI5MA0KVG90YWwgdGltZTogNi4yIHNlY29uZHMgKDkvMTAgc2Vj b25kcyBpbiBHQykNCm== --=-YQVPnINjD7/jF49eurMy Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel --=-YQVPnINjD7/jF49eurMy--