From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22889 invoked by alias); 20 Aug 2003 15:03:58 -0000 Mailing-List: contact guile-gtk-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: guile-gtk-owner@sources.redhat.com Received: (qmail 22871 invoked from network); 20 Aug 2003 15:03:57 -0000 Received: from unknown (HELO octopussy.utanet.at) (213.90.36.45) by sources.redhat.com with SMTP; 20 Aug 2003 15:03:57 -0000 Received: from pam.utanet.at ([213.90.36.6]) by octopussy.utanet.at with esmtp (Exim 4.12) id 19pUV6-0007OQ-00 for guile-gtk@sources.redhat.com; Wed, 20 Aug 2003 17:03:52 +0200 Received: from [81.189.20.138] (helo=rotty-ipv4.yi.org) by pam.utanet.at with esmtp (Exim 4.12) id 19pUV6-0006ei-00 for guile-gtk@sources.redhat.com; Wed, 20 Aug 2003 17:03:52 +0200 Received: from alice.rhinosaur.lan ([192.168.1.3] ident=mail) by rotty-ipv4.yi.org with esmtp (Exim 3.36 #1 (Debian)) id 19pUVf-0000mY-00 for ; Wed, 20 Aug 2003 17:04:27 +0200 Received: from andy by alice.rhinosaur.lan with local (Exim 4.20) id 19pUVf-00027M-Cz for guile-gtk@sources.redhat.com; Wed, 20 Aug 2003 17:04:27 +0200 To: guile-gtk@sources.redhat.com Subject: Re: Speedups for GTK2 bindings? References: <87r83hea6e.fsf@alice.rotty.yi.org> <20030820135934.GB4770@lark> From: Andreas Rottmann Date: Wed, 20 Aug 2003 15:03:00 -0000 In-Reply-To: <20030820135934.GB4770@lark> (Andy Wingo's message of "Wed, 20 Aug 2003 14:59:34 +0100") Message-ID: <87n0e4nzes.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-SW-Source: 2003-q3/txt/msg00053.txt.bz2 Andy Wingo writes: > On Tue, 19 Aug 2003, Andreas Rottmann wrote: > >> I'll probably try what speedups result of re-implementing the >> re-export-bindings and functions->methods-public helpers in C. > > Great! A lot of that code is (as you know) slow slow slow slow slow, and > since I don't fire up the gtk side of things too often, I don't really > see it very much. > > From informal observation, the slowest parts of the whole thing are > * loading (gnome gtk gw-gtk), which means registering all of the > functions (takes about 10s or so on my machine) > * loading (gnome gtk generics) (takes about 15s or so) > > I think that re-export-bindings procedure is kindof hackish; I think I > saw another module saying something like > > (set-module-uses! (gnome gtk %module-public-interface) (gnome gtk gw-gtk > %module-public-interface)) > > or something like that (not in (gnome gtk), but something within guile > itself). This sort of thing sounds like a question to ask guile-devel... > Also, I don't think re-export-modules takes all that much time either. > Dunno though, it would be helpful to time things so you can quanitify > improvement. > Right, on my machine also the registering and generics-building takes the vast amount of time. I'll leave re-export-bindings alone. > With regards to the slowness in loading gw-gtk, that's g-wrap's > slowness. You might try profiling the code to see if some code path is > really inefficient (like calling scm_c_lookup() too many times or > something). I haven't done this yet because it hasn't pissed me off > enough, but using gtk daily would do it ;) Anyway, this could be fixed > in g-wrap -- there's no reason for it to take so long, PyGTK loads up > quickly. > I'll have a look at the code-generation anyway - we generate much more code than pygtk does :-/ > Now, making the generics. Perhaps that could be done at the same time as > the functions are registered; that would avoid all the setting of > procedure properties that is done in the ccodegens. > That's probably a good idea. > These are just some ideas I'd had, dunno how correct they are. Heed them > or not, as you like! BTW, you can go ahead and commit your fix. Also, > Andreas you can commit anything else that seems correct to you, > especially if it results in faster load times ;) > OK. Regards, Andy -- Andreas Rottmann | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62 Latein ist das humanoide Äquivalent zu Fortran. -- Alexander Bartolich in at.linux