From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?utf-8?Q?Jostein=20Kj=C3=B8nigsen?= Newsgroups: gmane.emacs.devel Subject: Re: Regarding performance issues with the Emacs 25.1 Windows-build Date: Tue, 15 Nov 2016 12:42:53 +0100 Message-ID: <1479210173.3966163.788279825.21F1DD58@webmail.messagingengine.com> References: <1478680445.2214391.782069929.51F43E52@webmail.messagingengine.com> <83shr0fwsu.fsf@gnu.org> <83oa1ofu6u.fsf@gnu.org> <87a8d7f0uo.fsf@russet.org.uk> <83k2cae9gt.fsf@gnu.org> <87h97deo1h.fsf@russet.org.uk> <87vavqxdgh.fsf@russet.org.uk> <831syehw56.fsf@gnu.org> <87wpg6vw5c.fsf@russet.org.uk> <83y40mgccr.fsf@gnu.org> <1479206967.3955707.788215361.663DEC5B@webmail.messagingengine.com> Reply-To: jostein@kjonigsen.net NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="_----------=_147921017339661630" Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1479210274 29677 195.159.176.226 (15 Nov 2016 11:44:34 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 15 Nov 2016 11:44:34 +0000 (UTC) Cc: npostavs@users.sourceforge.net, emacs-devel@gnu.org To: jostein@kjonigsen.net, Eli Zaretskii , Phillip Lord Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 15 12:44:27 2016 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 1c6c9a-00031g-3a for ged-emacs-devel@m.gmane.org; Tue, 15 Nov 2016 12:43:54 +0100 Original-Received: from localhost ([::1]:45783 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c6c9d-0004j1-F0 for ged-emacs-devel@m.gmane.org; Tue, 15 Nov 2016 06:43:57 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53362) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c6c8k-0004gW-Kp for emacs-devel@gnu.org; Tue, 15 Nov 2016 06:43:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c6c8j-00036G-3q for emacs-devel@gnu.org; Tue, 15 Nov 2016 06:43:02 -0500 Original-Received: from out4-smtp.messagingengine.com ([66.111.4.28]:50935) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c6c8e-00035P-E0; Tue, 15 Nov 2016 06:42:56 -0500 Original-Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 1EC8020851; Tue, 15 Nov 2016 06:42:54 -0500 (EST) Original-Received: from web5 ([10.202.2.215]) by compute1.internal (MEProxy); Tue, 15 Nov 2016 06:42:54 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= secure.kjonigsen.net; h=cc:content-transfer-encoding :content-type:date:from:in-reply-to:message-id:mime-version :references:reply-to:subject:to:x-me-sender:x-me-sender :x-sasl-enc; s=mesmtp; bh=MwI9wk42/g0cmIEsNGS7iyX8Tf0=; b=Yeyc8w h0z5yyQAZPTjxlgBzuSgit/3lESbRK2/dk/8EyvIALF4krO9ogDD6D1WN36NWeK3 zhZ7mizaqsntTKhK3OD2Df5MerE2GJuvMa8lzxeM1R2JIII0q+RK7IlXsRS2Knk4 mSc2iwNqRm/Jec2or2g0EqJwyLz5XFthwK7as= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :reply-to:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= smtpout; bh=MwI9wk42/g0cmIEsNGS7iyX8Tf0=; b=ZZKhIUVogw0WBSf3GjJJ HczoHtNbHR5n61f1nvv4gMe9iqGfqvsocFfN44/akns3hUt2rxzA3EvT2KkQWDuu CXon7lMpdrkwD0peaRWN7f0nIpTuW5yRLaHFTC3T6Rg6OONRO6cetIAkwt5JjBNr g0xia3co0Fph5YmtNoL2bfw= X-ME-Sender: Original-Received: by mailuser.nyi.internal (Postfix, from userid 99) id E01595A67C; Tue, 15 Nov 2016 06:42:53 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface - ajax-461bce03 In-Reply-To: <1479206967.3955707.788215361.663DEC5B@webmail.messagingengine.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 66.111.4.28 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:209415 Archived-At: This is a multi-part message in MIME format. --_----------=_147921017339661630 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Functional regressions - more info =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D Regarding the functional regressions and the test-results found so far, the most obvious test-case I could find for failed XML-parsing was eww. So I tried to load www.google.com using eww, and as I suspected, it failed. It even specifically failed with saying the following: > Contacting host: www.google.com:80 > libxml2 library not found Phil: This should be fairly easy for you to verify locally before publishin= g a new test-build, right? -- Jostein Kj=C3=B8nigsen =F0=9F=A5=93 jostein@kjonigsen.net / jostein@secure.kjonigsen.net / jostein@gmail.com https://jostein.kjonigsen.net On Tue, Nov 15, 2016, at 11:49 AM, Jostein Kj=C3=B8nigsen wrote: > Hey everyone. > > Sorry about the slow response. I've been ill, and haven't had time to > test this in a production environment until now. > > I've got good news and I got bad news. I'll try to be as short and > concise as possible. > > > Test setup > =3D=3D=3D=3D=3D=3D=3D=3D=3D > > In my testing, I've taken the provided Emacs 25-build, downloaded the > corresponding GNU libraries prebuilt by ezwinports, and combined this > output in a common Emacs folder from where I've run my tests. > > My tool for automating this process is available online[1]. > > > Performance results > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > My quickest attempt to do semi-scientific testing is checking with > Windows Performance Recorder, how long a sustained 100% CPU usage > period is during startup on my current Emacs-configuration[2]. > > The results are below: > > * Emacs 25.1 (Phil's build): 7 seconds > * Emacs 25.1 (GNU's release-build): 12 seconds > * Emacs 24.5 (GNU's release-build): 7 seconds > > Phil's build thus has the same performance characteristics as Emacs > 24.5 for Windows. > > And I'd love to say that this was the end of the story... but... I > like to do real world testing too :) > > > Functional Regressions > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > I've found functional regressions in Phil's build, especially in what > seems to be handling of incoming XML data from inferior processes. > This error is not found in the official GNU build currently published > for Emacs 25.1, nor in Emacs 24.5. > > My use-case is fairly simple: > > * Ensure eslint is installed globally in your environment (Install > NodeJS, and then do "npm install -g eslint") > * Open a JS-file which should trigger eslint warnings. > * Enable flycheck-mode (which in turn will invoke eslint). > > In this case, opening a file with eslint warnings yields no in-buffer > flycheck errors, but instead a error-message in the minibuffer saying > something to the extent of this: > >> Suspicious state from syntax checker javascript-eslint: Flycheck >> checker javascript-eslint returned non-zero exit code 1, but its >> output contained no errors: > 8"?>> line=3D"13" column=3D"7" severity=3D"error" message=3D"'tsify'= is >> assigned a value but never used. (no-unused-vars)" source=3D"eslint.rule= s.no-unused- >> vars" />> message=3D"Strings must use doublequote. (quotes)" >> source=3D"eslint.rules.quotes" />> severity=3D"error" message=3D"Strings must use doublequote. (quotes)" >> source=3D"eslint.rules.quotes" /> > > Is Emacs not able to load libxml? Are DLLs linked correctly? Is there > any way I can help and do diagnostics on my end? > > This seems like a symptom of a pretty critical issue which will needs > to be resolved before any new release-build can be published. Let me > know how I can help. > > > References: > > [1] https://github.com/josteink/machine-build/blob/master/tools/emacs-win= 32-bootstrap.cmd > [2] https://github.com/josteink/machine-build/blob/master/dotfiles/emacs/= dot-emacs.el > > -- > Jostein Kj=C3=B8nigsen > =F0=9F=A5=93 > jostein@kjonigsen.net / jostein@secure.kjonigsen.net / > jostein@gmail.com > https://jostein.kjonigsen.net > > > On Mon, Nov 14, 2016, at 07:12 PM, Eli Zaretskii wrote: >>> From: phillip.lord@russet.org.uk (Phillip Lord) >>> Cc: emacs-devel@gnu.org, jostein@kjonigsen.net, >>> npostavs@users.sourceforge.net >>> Date: Mon, 14 Nov 2016 16:55:27 +0000 >>> >>> Eli Zaretskii writes: >>> >>>> It's okay. In general, if you don't strip the binaries, it >>>> would be >>>> better to also include -g3 in CFLAGS (so that there's debug info >>>> there, and reports about crashes can be accompanied by meaningful >>>> information), but for a release it is less important than for a >>>> pretest, so I see no need for yet another build. >>> >>> Confused? You mean to have four builds in total? >> >> No, of course not. Just 2: one for x86, the other x86_64. >> >>> Or you want me to configure with: >>> >>> CFLAGS=3D"-O2 -static -g3" >> >> That's the best if you don't strip the binaries, yes. >> >> Thanks, and sorry for the confusion I caused. > --_----------=_147921017339661630 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8"
Functional regressions - more info
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D

Regarding the functional regressions and the test-results found so far= , the most obvious test-case I could find for failed XML-parsing was eww.


libxml2 library not found

Phil: This should be fairly easy for you to verify locally before publ= ishing a new test-build, right?

--
Jostein Kj=C3=B8nigsen
=
=F0=9F=A5=93
https://jostein.kjonigsen.net


On Tue, Nov 15, 2016, at 11:49 AM, Jostein Kj=C3=B8nigsen wrote:
Hey everyone.

Sorry about the slow response. I've been ill, and haven't had time to = test this in a production environment until now.

I've got good news and I got bad news. I'll try to  be as short a= nd concise as possible.


Test setup
=3D=3D=3D=3D=3D=3D=3D=3D=3D

In my testing, I've taken the provided Emacs 25-build, downloaded the = corresponding GNU libraries prebuilt by ezwinports, and combined this outpu= t in a common Emacs folder from where I've run my tests.

My tool for automating this process is available online[1].


Performance results
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

My quickest attempt to do semi-scientific testing is checking with Win= dows Performance Recorder, how long a sustained 100% CPU usage period is du= ring startup on my current Emacs-configuration[2].

The results are below:

  • Emacs 25.1 (Phil's build): 7 seconds
  • Emacs 25.1 (GNU's = release-build): 12 seconds
  • Emacs 24.5 (GNU's release-build): 7 = seconds

Phil's build thus has the same performance characteristics as Emacs 24= .5 for Windows.

And I'd love to say that this was the end of the story... but... I lik= e to do real world testing too :)


Functional Regressions
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

I've found functional regressions in Phil's build, especially in what = seems to be handling of incoming XML data from inferior processes. This err= or is not found in the official GNU build currently published for Emacs 25.= 1, nor in Emacs 24.5.

My use-case is fairly simple:

  • Ensure eslint is installed globally in your environment
    (Install NodeJS, and then do "npm install -g eslint")
  • Open a JS-file which should trigger eslint warnings.
  • E= nable flycheck-mode (which in turn will invoke eslint).
<= br>
In this case, opening a file with eslint warnings yields no in-buffer = flycheck errors, but instead a error-message in the minibuffer saying somet= hing to the extent of this:

Suspicious state from syntax checker javascript-eslint: Fl= ycheck checker javascript-eslint returned non-zero exit code 1, but its out= put contained no errors: <?xml version=3D"1.0" encoding=3D"utf-8"?>&l= t;checkstyle version=3D"4.3"><file name=3D"--redacted--"><error= line=3D"13" column=3D"7" severity=3D"error" message=3D"&apos;tsify&= ;apos; is assigned a value but never used. (no-unused-vars)" source=3D"esli= nt.rules.no-unused-vars" /><error line=3D"130" column=3D"37" severity= =3D"error" message=3D"Strings must use doublequote. (quotes)" source=3D"esl= int.rules.quotes" /><error line=3D"130" column=3D"44" severity=3D"err= or" message=3D"Strings must use doublequote. (quotes)" source=3D"eslint.rul= es.quotes" /></file></checkstyle>

Is Emacs not able to load libxml? Are DLLs linked correctly? Is there = any way I can help and do diagnostics on my end?

This seems like a symptom of a pretty critical issue which will needs = to be resolved before any new release-build can be published. Let me know h= ow I can help.


References:


--
Jostein Kj=C3=B8nigsen
=F0=9F=A5=93
jostein@kjonigsen.net / <= a href=3D"mailto:jostein@secure.kjonigsen.net">jostein@secure.kjonigsen.net= / jostein@gmail.com


On Mon, Nov 14, 2016, at 07:12 PM, Eli Zaretskii wrote:
From: phillip.lord@russet.org.uk (Phillip Lord)
Date: Mon, 14 Nov 2016 16:55:27 +0000

Eli Zaretskii <eliz@gnu.org>= writes:

It's okay.  In general, if you don't strip the binari= es, it would be
better to also include -g3 in CFLAGS (so that there's debug info
there, and reports about crashes can be accompanied by meaningful
<= /div>
information), but for a release it is less important than for a
pretest, so I see no need for yet another build.

Confused? You mean to have four builds in total?

No, of course not.  Just 2: one for x86, the other x86_64.

Or you want me to configure with:

CFLAGS=3D"-O2 -static -g3"

That's the best if you don't strip the binaries, yes.

Thanks, and sorry for the confusion I caused.


--_----------=_147921017339661630--