all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Jostein Kjønigsen" <jostein@secure.kjonigsen.net>
To: Phillip Lord <phillip.lord@russet.org.uk>, jostein@kjonigsen.net
Cc: Eli Zaretskii <eliz@gnu.org>,
	emacs-devel@gnu.org, npostavs@users.sourceforge.net
Subject: Re: Regarding performance issues with the Emacs 25.1 Windows-build
Date: Tue, 15 Nov 2016 14:30:47 +0100	[thread overview]
Message-ID: <1479216647.3987323.788371497.0DE981F1@webmail.messagingengine.com> (raw)
In-Reply-To: <80b07e1bcdffb365d8d1105614e3f7ec.squirrel@cloud103.planethippo.com>

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

Yes. This is with all the dependencies added, systematically and
scripted, as outlined in the test-setup procedure. Both builds are
tested using the same test-setup. libxml2-2.dll is found in the bin
folder for all tested configurations.

For whatever reason your latest build seems unable to load these
dependencies.

If libxml fails to load, my assumption was that other dependencies like
image-support, GnTLS support, etc would also fail to load. So I did a
test: I ran the following in a scratch buffer:

(gnutls-available-p).

On your build I'm getting "nil". For the other GNU builds, I'm getting
"t". Again: I'm using the exact same test-setup across all Emacs
versions here.

Your 25.1.2-build clearly has fundamental issues with loading external
libraries, although I'm not particularly qualified to point out what is
failing here.

But as far as I can tell, you now have at least 2 simple test-cases
(eww, gnutls-available-p) with minimal dependencies and 1 scripted
procedure[1] to setup the same test-environment I have.

Hopefully that should be enough to help you dig deeper into what's going
wrong here.

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

--
Jostein Kjønigsen
🥓
jostein@kjonigsen.net / jostein@secure.kjonigsen.net / jostein@gmail.com
https://jostein.kjonigsen.net


On Tue, Nov 15, 2016, at 02:17 PM, Phillip Lord wrote:
>
> Is this with or without the extra dependencies added?
>
> Phil
>
>
> On Tue, November 15, 2016 11:42 am, Jostein Kjønigsen wrote:
>> Functional regressions - more info
>> ================================
>>
>>
>> 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
>> publishing a new test-build, right?
>>
>> --
>> Jostein Kjønigsen
>> 🥓
>> 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ønigsen 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
>>> =========
>>>
>>>
>>> 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="'tsify' 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/do
>>> t-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: 10963 bytes --]

  reply	other threads:[~2016-11-15 13:30 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
2016-11-15 11:42                       ` Jostein Kjønigsen
2016-11-15 13:17                         ` Phillip Lord
2016-11-15 13:30                           ` Jostein Kjønigsen [this message]
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

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

  git send-email \
    --in-reply-to=1479216647.3987323.788371497.0DE981F1@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.