From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: hw Newsgroups: gmane.emacs.devel Subject: Re: Some developement questions Date: Sun, 26 Aug 2018 03:33:08 +0200 Organization: my virtual residence Message-ID: <87k1od7vzf.fsf@himinbjorg.adminart.net> References: <87sh36inql.fsf@himinbjorg.adminart.net> <8336v6cvem.fsf@gnu.org> <8736v6icgt.fsf@himinbjorg.adminart.net> <83tvnmb958.fsf@gnu.org> <877ekigiiw.fsf@himinbjorg.adminart.net> <837ekhb2me.fsf@gnu.org> <87zhxcbmtr.fsf@himinbjorg.adminart.net> <83in409lub.fsf@gnu.org> <871sanb71j.fsf@himinbjorg.adminart.net> <87k1oeaofu.fsf@ada> <20180825103413.gbm5stsl67j6weow@Ergus> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1535288779 30490 195.159.176.226 (26 Aug 2018 13:06:19 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 26 Aug 2018 13:06:19 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cc: spacibba@aol.com, flexibeast@gmail.com, Eli Zaretskii , emacs-devel To: Radon Rosborough Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Aug 26 15:06:15 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ftukA-0007pl-PD for ged-emacs-devel@m.gmane.org; Sun, 26 Aug 2018 15:06:14 +0200 Original-Received: from localhost ([::1]:49087 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ftumG-0007MQ-VU for ged-emacs-devel@m.gmane.org; Sun, 26 Aug 2018 09:08:25 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48221) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ftukx-0007LP-HQ for emacs-devel@gnu.org; Sun, 26 Aug 2018 09:07:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ftukw-00067B-5B for emacs-devel@gnu.org; Sun, 26 Aug 2018 09:07:03 -0400 Original-Received: from mo6-p01-ob.smtp.rzone.de ([2a01:238:20a:202:5301::9]:27032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ftuku-0005zv-3A; Sun, 26 Aug 2018 09:07:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1535288816; s=strato-dkim-0002; d=adminart.net; h=Sender:References:Message-ID:Date:In-Reply-To:Subject:Cc:To:From: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=sop21Y2le2svEPtlyh5hvJB6OE4oCEfzjiyJ+nb/U84=; b=No4iBv6v070+FkWyGdYQbV7UIMQQzDYvteH64ay1t7wnnr5RC49EWreQXBkZ7ZJIYS iq09KenSJXDmzKz+nKPSsTMw35EJeEG/o/YuxrPcpyAiLqJhdWGwhvmrl1jKC8k7/8za 4If4z3Wmw0pyP/34yTF35HhzQqFUfWXL2ZkGx3zPI6ElMLDphapdKclNPu2l321M+HmK ykXWhGvUb17bxT2+6D7pSu7ZYSTNGg0E+pPsccYkCVJRxljn/PLAVoApZn51k24QKeHm v82M/MUsOD3o+qjtt6Y/xL9bdPCAbF75l6mCL0mE9C6OzLhmeWMw6eq79LOdQUOmkUSG qTXg== X-RZG-AUTH: ":O2kGeEG7b/pS1FS4THaxjVF9w0vVgfQ9xGcjwO5WMRo5c+h5ceMqQWZ3yrBp+AVdIIwXjneEe9k=" X-RZG-CLASS-ID: mo00 Original-Received: from lee by himinbjorg.adminart.net with local (Exim 4.90_1) (envelope-from ) id 1ftukp-0000Ri-OJ; Sun, 26 Aug 2018 15:06:55 +0200 In-Reply-To: (Radon Rosborough's message of "Sat, 25 Aug 2018 10:11:38 -0600") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a01:238:20a:202:5301::9 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:228927 Archived-At: Radon Rosborough writes: >> If the messages are just printed in the message buffer it shouldn't >> impact too much the startup time I think. > > To do the kind of analysis you are talking about, one would have to > hook into really basic subroutines like `setq`. I don't have any > numbers to back this up, but that sounds like it would be a massive > slowdown for all Elisp code. Alternatively, you'd have to do a lot of > heavy static analysis because what defines a "outdated, deprecated, or > useless" setting is actually quite nebulous and complicated. In theory, Emacs could find out which variables are being defined in ~/.emacs and whether they are already known or not, like by checking if they can successfully be described. The unknown variables could then be brought to the attention of the user. Perhaps a few other things could be done, too. > I do actually think this is an interesting idea, but it would > definitely best be implemented as either a third-party package or some > optional user library in core that either does static analysis or > allows one to load the init-file with profiling enabled like ESUP [1] > (or both). How difficult would it be to do the above? >> a number of people find even an extra 0.5s-1.0s in startup to be >> significant > > I am one of those people, and actually I find even an extra 50ms of > startup time to be unacceptable unless there's a good reason for it. > My ~5,000 line configuration [2] which pulls in ~130 packages takes > only ~250ms to load, according to a startup profiler -- meaning 0.6s > to go from nothing to a full graphical frame. > > Why bother with the Emacs server when you can just make Emacs start up > as fast as Vim? ;) How is it relevant whether it takes 50ms more or less to start Emacs? Is that even within the error margin of the measurements, like changes in temperature might cause larger differences than that. I just keep Emacs running on my server in a tmux session. With a terminal that has good colours, it's quite ok. I could even use it without booting my workstation by just switching the monitor input: 50ms more or less are nothing compared to that, you can't keep up with me anyway ;P Unfortunately, the Emacs server can still not be used from remote machines --- or can it finally? Other than that, the Emacs server is useful to push a file into Emacs from the terminal and things like that. Why not just use it, it's probably faster than 0.6s before you can edit a file. > [1]: https://github.com/jschaf/esup > [2]: https://github.com/raxod502/radian