unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Jostein Kjønigsen" <jostein@secure.kjonigsen.net>
To: Eli Zaretskii <eliz@gnu.org>, Phillip Lord <phillip.lord@russet.org.uk>
Cc: npostavs@users.sourceforge.net, jostein@kjonigsen.net,
	emacs-devel@gnu.org
Subject: Re: Regarding performance issues with the Emacs 25.1 Windows-build
Date: Tue, 15 Nov 2016 11:49:27 +0100	[thread overview]
Message-ID: <1479206967.3955707.788215361.663DEC5B@webmail.messagingengine.com> (raw)
In-Reply-To: <83y40mgccr.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 4170 bytes --]

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
=========

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
==================

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
====================

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: <?xml version="1.0" encoding="utf-
> 8"?><checkstyle version="4.3"><file name="--redacted--"><error
> line="13" column="7" severity="error" message="&apos;tsify&apos; is
> assigned a value but never used. (no-unused-vars)" source="eslint.rules.no-unused-
> vars" /><error line="130" column="37" severity="error"
> message="Strings must use doublequote. (quotes)"
> source="eslint.rules.quotes" /><error line="130" column="44"
> severity="error" message="Strings must use doublequote. (quotes)"
> source="eslint.rules.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
how I can help.


References:

[1] https://github.com/josteink/machine-build/blob/master/tools/emacs-win32-bootstrap.cmd
[2] https://github.com/josteink/machine-build/blob/master/dotfiles/emacs/dot-emacs.el

--
Jostein Kjønigsen
🥓
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 <eliz@gnu.org> 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="-O2 -static -g3"
>
> That's the best if you don't strip the binaries, yes.
>
> Thanks, and sorry for the confusion I caused.

[-- Attachment #2: Type: text/html, Size: 6369 bytes --]

  reply	other threads:[~2016-11-15 10:49 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-09  8:34 Regarding performance issues with the Emacs 25.1 Windows-build Jostein Kjønigsen
2016-11-09 16:22 ` Eli Zaretskii
2016-11-09 16:55   ` Noam Postavsky
2016-11-09 17:18     ` Eli Zaretskii
2016-11-10 15:16       ` Phillip Lord
2016-11-10 22:04       ` Phillip Lord
2016-11-11  7:56         ` Eli Zaretskii
2016-11-11 20:53           ` Phillip Lord
2016-11-14 15:56             ` Phillip Lord
2016-11-14 16:19               ` Eli Zaretskii
2016-11-14 16:55                 ` Phillip Lord
2016-11-14 18:12                   ` Eli Zaretskii
2016-11-15 10:49                     ` Jostein Kjønigsen [this message]
2016-11-15 11:42                       ` Jostein Kjønigsen
2016-11-15 13:17                         ` Phillip Lord
2016-11-15 13:30                           ` Jostein Kjønigsen
2016-11-15 15:17                             ` Eli Zaretskii
2016-11-15 15:39                               ` Jostein Kjønigsen
2016-11-20  9:31                                 ` Phillip Lord
2016-11-29 18:26                                   ` Jostein Kjønigsen
2016-11-29 21:47                                     ` Phillip Lord
2016-11-30  7:56                                       ` Fabrice Popineau
2016-11-30  8:36                                         ` Jostein Kjønigsen
2016-11-30 12:51                                           ` Fabrice Popineau
2016-11-30 20:11                                           ` Richard Stallman
2016-11-30 14:48                                         ` Eli Zaretskii
2016-12-09 21:09                                           ` Fabrice Popineau
2016-12-12 17:18                                             ` Phillip Lord
2016-11-11 19:13         ` Jostein Kjønigsen
2016-11-09 17:21   ` Eli Zaretskii
  -- strict thread matches above, loose matches on Subject: below --
2016-11-21 23:35 Fernando Febles Armas
2016-11-22  3:44 ` Eli Zaretskii
2017-01-09  6:33 jsj.register
2017-01-09  7:40 ` Richard Copley
2017-01-10  7:28   ` jsj.register
2017-01-09  7:57 ` Nikolay Kudryavtsev
2017-01-10  7:30   ` jsj.register

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1479206967.3955707.788215361.663DEC5B@webmail.messagingengine.com \
    --to=jostein@secure.kjonigsen.net \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=jostein@kjonigsen.net \
    --cc=npostavs@users.sourceforge.net \
    --cc=phillip.lord@russet.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).