From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: taylanbayirli@gmail.com (Taylan Ulrich B.) Newsgroups: gmane.lisp.guile.user,gmane.emacs.devel Subject: Re: Guile-Emacs update Date: Thu, 01 Aug 2013 01:17:53 +0300 Message-ID: <87k3k6s7am.fsf@taylan.uni.cx> References: <87mwpgkcsx.fsf@olor.terpri.org> <1375302495.6179.86.camel@pdsdesk> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1375316134 12125 80.91.229.3 (1 Aug 2013 00:15:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 1 Aug 2013 00:15:34 +0000 (UTC) Cc: guile-user@gnu.org, emacs-devel@gnu.org, BT Templeton To: joakim@verona.se Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu Aug 01 02:15:36 2013 Return-path: Envelope-to: guile-user@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 1V4gYK-0001AS-An for guile-user@m.gmane.org; Thu, 01 Aug 2013 02:15:36 +0200 Original-Received: from localhost ([::1]:35296 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4gYJ-0005oU-Pk for guile-user@m.gmane.org; Wed, 31 Jul 2013 20:15:35 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40933) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4gY8-0005nq-N8 for guile-user@gnu.org; Wed, 31 Jul 2013 20:15:29 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V4frt-0004ZZ-IN for guile-user@gnu.org; Wed, 31 Jul 2013 19:31:52 -0400 Original-Received: from mail-ea0-x232.google.com ([2a00:1450:4013:c01::232]:51276) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4eiW-00014l-5P; Wed, 31 Jul 2013 18:18:00 -0400 Original-Received: by mail-ea0-f178.google.com with SMTP id a15so618141eae.23 for ; Wed, 31 Jul 2013 15:17:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=T2wypP/Sl3EtCURNPeU1NlZmP9L9OBDBlWR8VnMCnpg=; b=vGZTV7iS+VXEXmiuHXmMyj5F5ox/SlQll6+U0motsbMgiKxYehZIoJE9kpx5oCR0+E 9TKd7yX99koAiyVt8yVuwBo6cIsSNWlB3bTS1UdWo8Zi5ULqqaiz8sYzhUt86VPkvXGU FLzufbkAyzlEf9JiQ60XO4KXOzEEA7lsoitYWd5R0LuuSsFkK+YE4sKkG3Zr1PBd6bue I2QkHbv4JG3RISLG92z8i76PzJjkkBJZbB+TqQIk3rXEwnO6tM+T9Ghmmq/ACLufoH8x zucvYKWzve7w06VRQywKH4+80yXQeq5DMUqJ6Tem9Yb4u/iGHyJv0bGtJ9C7q349ZEKN R4Zg== X-Received: by 10.14.149.3 with SMTP id w3mr7644505eej.84.1375309078811; Wed, 31 Jul 2013 15:17:58 -0700 (PDT) Original-Received: from taylan.uni.cx ([78.179.208.222]) by mx.google.com with ESMTPSA id n42sm572781eeh.15.2013.07.31.15.17.56 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 31 Jul 2013 15:17:58 -0700 (PDT) In-Reply-To: (joakim@verona.se's message of "Wed, 31 Jul 2013 22:46:41 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (berkeley-unix) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4013:c01::232 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:10597 gmane.emacs.devel:162310 Archived-At: joakim@verona.se writes: > Paul Smith writes: > >> On Wed, 2013-07-31 at 20:54 +0200, joakim@verona.se wrote: >>> #make takes a loong time, much more than a normal emacs >>> ./autogen.sh && ./configure && make >> >> I'm not familiar with building Emacs, but doesn't its build system >> support parallel compilation (couldn't you run "make -j4" or whatever's >> appropriate for your system to get a nice speedup)? >> > > I think the slowness was during lisp compilation, and that didnt use to > benefit from parallel compilation. I might try again though. The slowness is during .el byte-code compilation (and partly autoload generation), because the Makefile starts a new Emacs for every .el to be compiled, and Guile Emacs starts very slow (about 10 seconds?) because the "dumping" feature of Emacs is disabled, thus it loads even the fundamental Elisp libraries from the ground up when started (the executable is "barebones"). The loading of said fundamental Elisp libraries is normally suppressed by using not a barebones executable, but an executable that's generated by starting said barebones executable once (*with* dumping capability), loading the files, then dumping. (Yeah, Emacs actually supports dumping its memory image into a runnable executable, see Elisp function `dump-emacs', but it's limited and unusable for day-to-day usage, and only used during compilation to generate this executable with pre-loaded Elisp libraries.) I managed to inhibit .el compilation and autoload generation by screwing around with the Makefiles and loadup.el; the result just causes more headaches if you want to test Guile Emacs in a sane fashion, but it basically works if you don't have a fancy .emacs, and allows to test changes in the base C source (which is what I'm doing recently), so if you have a similar use-case you can notify me and I'll post the hacky patches somewhere.