* Where is the eln search path defined
@ 2020-05-15 8:57 Alex Bennée
2020-05-15 16:49 ` Andrea Corallo
0 siblings, 1 reply; 25+ messages in thread
From: Alex Bennée @ 2020-05-15 8:57 UTC (permalink / raw)
To: emacs-devel, Andrea Corallo
Hi,
I thought it was about time I started getting the native-comp branch
running on some of my aarch64 machines. The bionic version of libgccjit
for aarch64 failed so I ended up having to build the latest from master
and adding it to the search path.
Emacs seems to have built fine but when I run it I get:
08:41:58 [alex@qemu-test:~/s/emacs] $ emacs -nw
emacs: /usr/bin/../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln: cannot open shared object file: No such file or directory
The file in question is in my install directory ($HOME/src/emacs/install):
install/share/emacs/28.0.50/lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln
but emacs doesn't seem to be able to find it. I'm wondering what is
different between aarch64 and x86 because in both cases all I've really
done is add $HOME/src/emacs/install/bin to me PATH.
Any pointers?
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-15 8:57 Where is the eln search path defined Alex Bennée
@ 2020-05-15 16:49 ` Andrea Corallo
2020-05-15 17:19 ` Alex Bennée
0 siblings, 1 reply; 25+ messages in thread
From: Andrea Corallo @ 2020-05-15 16:49 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Alex Bennée <alex.bennee@linaro.org> writes:
> Hi,
>
> I thought it was about time I started getting the native-comp branch
> running on some of my aarch64 machines. The bionic version of libgccjit
> for aarch64 failed so I ended up having to build the latest from master
> and adding it to the search path.
>
> Emacs seems to have built fine but when I run it I get:
>
> 08:41:58 [alex@qemu-test:~/s/emacs] $ emacs -nw
> emacs: /usr/bin/../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln: cannot open shared object file: No such file or directory
>
> The file in question is in my install directory ($HOME/src/emacs/install):
>
> install/share/emacs/28.0.50/lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln
>
> but emacs doesn't seem to be able to find it. I'm wondering what is
> different between aarch64 and x86 because in both cases all I've really
> done is add $HOME/src/emacs/install/bin to me PATH.
>
> Any pointers?
Hi Alex,
Emacs thinks the binary is installed in '/usr/bin/' and the relative path
to find the eln from there is expected to be
'../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln'.
I believe of the two information the first is wrong in this case. This
is coming from the DESTDIR value while compiling. Is it possible that
Emacs was compiled with a certain DESTDIR value and then installed using
a different one?
This would explain even if I understand this is really not ideal.
Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-15 16:49 ` Andrea Corallo
@ 2020-05-15 17:19 ` Alex Bennée
2020-05-15 18:10 ` Andrea Corallo
0 siblings, 1 reply; 25+ messages in thread
From: Alex Bennée @ 2020-05-15 17:19 UTC (permalink / raw)
To: Andrea Corallo; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Hi,
>>
>> I thought it was about time I started getting the native-comp branch
>> running on some of my aarch64 machines. The bionic version of libgccjit
>> for aarch64 failed so I ended up having to build the latest from master
>> and adding it to the search path.
>>
>> Emacs seems to have built fine but when I run it I get:
>>
>> 08:41:58 [alex@qemu-test:~/s/emacs] $ emacs -nw
>> emacs: /usr/bin/../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln: cannot open shared object file: No such file or directory
<snip>
>> Any pointers?
>
> Hi Alex,
>
> Emacs thinks the binary is installed in '/usr/bin/' and the relative path
> to find the eln from there is expected to be
> '../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln'.
Hmm it was configured:
./configure --prefix=/home/alex/src/emacs/install \
--with-x-toolkit=no --with-modules \
--with-nativecomp --with-xpm=ifavailable \
--with-gif=ifavailable --with-tiff=ifavailable
> I believe of the two information the first is wrong in this case. This
> is coming from the DESTDIR value while compiling. Is it possible that
> Emacs was compiled with a certain DESTDIR value and then installed using
> a different one?
I can't quite follow where the automake magic sets DESTDIR but in the
main Makefile I certainly have:
# The default location for installation. Everything is placed in
# subdirectories of this directory. The default values for many of
# the variables below are expressed in terms of this one, so you may
# not need to change them. This defaults to /usr/local.
prefix=/home/alex/src/emacs/install
Where is DESTDIR defined during the build?
> This would explain even if I understand this is really not ideal.
>
> Andrea
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-15 17:19 ` Alex Bennée
@ 2020-05-15 18:10 ` Andrea Corallo
2020-05-15 21:19 ` Alex Bennée
0 siblings, 1 reply; 25+ messages in thread
From: Andrea Corallo @ 2020-05-15 18:10 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Alex Bennée <alex.bennee@linaro.org> writes:
> Andrea Corallo <akrl@sdf.org> writes:
>
>> Alex Bennée <alex.bennee@linaro.org> writes:
>>
>>> Hi,
>>>
>>> I thought it was about time I started getting the native-comp branch
>>> running on some of my aarch64 machines. The bionic version of libgccjit
>>> for aarch64 failed so I ended up having to build the latest from master
>>> and adding it to the search path.
>>>
>>> Emacs seems to have built fine but when I run it I get:
>>>
>>> 08:41:58 [alex@qemu-test:~/s/emacs] $ emacs -nw
>>> emacs: /usr/bin/../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln: cannot open shared object file: No such file or directory
> <snip>
>>> Any pointers?
>>
>> Hi Alex,
>>
>> Emacs thinks the binary is installed in '/usr/bin/' and the relative path
>> to find the eln from there is expected to be
>> '../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln'.
>
> Hmm it was configured:
>
> ./configure --prefix=/home/alex/src/emacs/install \
> --with-x-toolkit=no --with-modules \
> --with-nativecomp --with-xpm=ifavailable \
> --with-gif=ifavailable --with-tiff=ifavailable
Mmh I see. Would be interesting if you could check the DESTDIR value
(if any) in your build environment.
>> I believe of the two information the first is wrong in this case. This
>> is coming from the DESTDIR value while compiling. Is it possible that
>> Emacs was compiled with a certain DESTDIR value and then installed using
>> a different one?
>
> I can't quite follow where the automake magic sets DESTDIR but in the
> main Makefile I certainly have:
>
> # The default location for installation. Everything is placed in
> # subdirectories of this directory. The default values for many of
> # the variables below are expressed in terms of this one, so you may
> # not need to change them. This defaults to /usr/local.
> prefix=/home/alex/src/emacs/install
>
> Where is DESTDIR defined during the build?
That is a very good question.
>> This would explain even if I understand this is really not ideal.
>>
>> Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-15 18:10 ` Andrea Corallo
@ 2020-05-15 21:19 ` Alex Bennée
2020-05-15 21:55 ` Andrea Corallo
2020-05-16 6:37 ` Eli Zaretskii
0 siblings, 2 replies; 25+ messages in thread
From: Alex Bennée @ 2020-05-15 21:19 UTC (permalink / raw)
To: Andrea Corallo; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Andrea Corallo <akrl@sdf.org> writes:
>>
>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>
>>>> Hi,
>>>>
>>>> I thought it was about time I started getting the native-comp branch
>>>> running on some of my aarch64 machines. The bionic version of libgccjit
>>>> for aarch64 failed so I ended up having to build the latest from master
>>>> and adding it to the search path.
>>>>
>>>> Emacs seems to have built fine but when I run it I get:
>>>>
>>>> 08:41:58 [alex@qemu-test:~/s/emacs] $ emacs -nw
>>>> emacs: /usr/bin/../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln: cannot open shared object file: No such file or directory
>> <snip>
>>>> Any pointers?
>>>
>>> Hi Alex,
>>>
>>> Emacs thinks the binary is installed in '/usr/bin/' and the relative path
>>> to find the eln from there is expected to be
>>> '../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln'.
>>
>> Hmm it was configured:
>>
>> ./configure --prefix=/home/alex/src/emacs/install \
>> --with-x-toolkit=no --with-modules \
>> --with-nativecomp --with-xpm=ifavailable \
>> --with-gif=ifavailable --with-tiff=ifavailable
>
> Mmh I see. Would be interesting if you could check the DESTDIR value
> (if any) in your build environment.
Definitely not in env:
19:55:42 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ + env | grep DESTDIR
19:56:31 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ 1 +
>>> I believe of the two information the first is wrong in this case. This
>>> is coming from the DESTDIR value while compiling. Is it possible that
>>> Emacs was compiled with a certain DESTDIR value and then installed using
>>> a different one?
>>
>> I can't quite follow where the automake magic sets DESTDIR but in the
>> main Makefile I certainly have:
>>
>> # The default location for installation. Everything is placed in
>> # subdirectories of this directory. The default values for many of
>> # the variables below are expressed in terms of this one, so you may
>> # not need to change them. This defaults to /usr/local.
>> prefix=/home/alex/src/emacs/install
>>
>> Where is DESTDIR defined during the build?
>
> That is a very good question.
I can't see it set, although LISP and BIN DESTDIRS are set:
19:58:13 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ + remake
remake -C lib all
remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/lib'
remake[1]: Nothing to be done for 'all'.
remake[1]: Leaving directory '/home/alex/src/emacs/emacs.git/lib'
remake -C lib-src all
remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/lib-src'
remake[1]: Nothing to be done for 'all'.
remake[1]: Leaving directory '/home/alex/src/emacs/emacs.git/lib-src'
remake -C src VCSWITNESS='$(srcdir)/../.git/logs/HEAD' BIN_DESTDIR='/home/alex/src/emacs/install/bin/' \
LISP_DESTDIR='/home/alex/src/emacs/install/share/emacs/28.0.50/lisp/' all
remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/src'
>
>>> This would explain even if I understand this is really not ideal.
>>>
>>> Andrea
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-15 21:19 ` Alex Bennée
@ 2020-05-15 21:55 ` Andrea Corallo
2020-05-17 11:00 ` Alex Bennée
2020-05-16 6:37 ` Eli Zaretskii
1 sibling, 1 reply; 25+ messages in thread
From: Andrea Corallo @ 2020-05-15 21:55 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Alex Bennée <alex.bennee@linaro.org> writes:
> Andrea Corallo <akrl@sdf.org> writes:
>
>> Alex Bennée <alex.bennee@linaro.org> writes:
>>
>>> Andrea Corallo <akrl@sdf.org> writes:
>>>
>>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>>
>>>>> Hi,
>>>>>
>>>>> I thought it was about time I started getting the native-comp branch
>>>>> running on some of my aarch64 machines. The bionic version of libgccjit
>>>>> for aarch64 failed so I ended up having to build the latest from master
>>>>> and adding it to the search path.
>>>>>
>>>>> Emacs seems to have built fine but when I run it I get:
>>>>>
>>>>> 08:41:58 [alex@qemu-test:~/s/emacs] $ emacs -nw
>>>>> emacs: /usr/bin/../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln: cannot open shared object file: No such file or directory
>>> <snip>
>>>>> Any pointers?
>>>>
>>>> Hi Alex,
>>>>
>>>> Emacs thinks the binary is installed in '/usr/bin/' and the relative path
>>>> to find the eln from there is expected to be
>>>> '../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln'.
>>>
>>> Hmm it was configured:
>>>
>>> ./configure --prefix=/home/alex/src/emacs/install \
>>> --with-x-toolkit=no --with-modules \
>>> --with-nativecomp --with-xpm=ifavailable \
>>> --with-gif=ifavailable --with-tiff=ifavailable
>>
>> Mmh I see. Would be interesting if you could check the DESTDIR value
>> (if any) in your build environment.
>
> Definitely not in env:
>
> 19:55:42 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ + env | grep DESTDIR
> 19:56:31 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ 1 +
>
>>>> I believe of the two information the first is wrong in this case. This
>>>> is coming from the DESTDIR value while compiling. Is it possible that
>>>> Emacs was compiled with a certain DESTDIR value and then installed using
>>>> a different one?
>>>
>>> I can't quite follow where the automake magic sets DESTDIR but in the
>>> main Makefile I certainly have:
>>>
>>> # The default location for installation. Everything is placed in
>>> # subdirectories of this directory. The default values for many of
>>> # the variables below are expressed in terms of this one, so you may
>>> # not need to change them. This defaults to /usr/local.
>>> prefix=/home/alex/src/emacs/install
>>>
>>> Where is DESTDIR defined during the build?
>>
>> That is a very good question.
>
> I can't see it set, although LISP and BIN DESTDIRS are set:
>
> 19:58:13 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ + remake
> remake -C lib all
> remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/lib'
> remake[1]: Nothing to be done for 'all'.
> remake[1]: Leaving directory '/home/alex/src/emacs/emacs.git/lib'
> remake -C lib-src all
> remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/lib-src'
> remake[1]: Nothing to be done for 'all'.
> remake[1]: Leaving directory '/home/alex/src/emacs/emacs.git/lib-src'
> remake -C src VCSWITNESS='$(srcdir)/../.git/logs/HEAD' BIN_DESTDIR='/home/alex/src/emacs/install/bin/' \
> LISP_DESTDIR='/home/alex/src/emacs/install/share/emacs/28.0.50/lisp/' all
> remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/src'
Regardless the DESTDIRS Unix mystery (!?) BIN_DESTDIR and LISP_DESTDIR
are set correctly. But looking at you original error apparently Emacs
is convinced to start from '/usr/bin/' and not
'/home/alex/src/emacs/install/bin/'.
This '/usr/bin/' should be the value of `invocation-directory' while
executing pdumper.c:5312. Is this value wrong or we are missing
something else?
Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-15 21:19 ` Alex Bennée
2020-05-15 21:55 ` Andrea Corallo
@ 2020-05-16 6:37 ` Eli Zaretskii
1 sibling, 0 replies; 25+ messages in thread
From: Eli Zaretskii @ 2020-05-16 6:37 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel, akrl
> From: Alex Bennée <alex.bennee@linaro.org>
> Date: Fri, 15 May 2020 22:19:49 +0100
> Cc: emacs-devel@gnu.org
>
> > Mmh I see. Would be interesting if you could check the DESTDIR value
> > (if any) in your build environment.
>
> Definitely not in env:
>
> 19:55:42 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ + env | grep DESTDIR
> 19:56:31 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ 1 +
>
> >>> I believe of the two information the first is wrong in this case. This
> >>> is coming from the DESTDIR value while compiling. Is it possible that
> >>> Emacs was compiled with a certain DESTDIR value and then installed using
> >>> a different one?
> >>
> >> I can't quite follow where the automake magic sets DESTDIR but in the
> >> main Makefile I certainly have:
> >>
> >> # The default location for installation. Everything is placed in
> >> # subdirectories of this directory. The default values for many of
> >> # the variables below are expressed in terms of this one, so you may
> >> # not need to change them. This defaults to /usr/local.
> >> prefix=/home/alex/src/emacs/install
> >>
> >> Where is DESTDIR defined during the build?
> >
> > That is a very good question.
>
> I can't see it set, although LISP and BIN DESTDIRS are set:
I think this is looking in the wrong direction: DESTDIR is almost
_never_ defined. It exists for a corner use case, so much so that I
even don't think it will help to describe that use cased here.
My guess is something else is causing this.
Of course, I could be wrong, since I don't know enough about these
details of native compilation. Apologies if I cause more confusion
than help.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-15 21:55 ` Andrea Corallo
@ 2020-05-17 11:00 ` Alex Bennée
2020-05-17 12:45 ` Andrea Corallo
0 siblings, 1 reply; 25+ messages in thread
From: Alex Bennée @ 2020-05-17 11:00 UTC (permalink / raw)
To: Andrea Corallo; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Andrea Corallo <akrl@sdf.org> writes:
>>
>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>
>>>> Andrea Corallo <akrl@sdf.org> writes:
>>>>
>>>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I thought it was about time I started getting the native-comp branch
>>>>>> running on some of my aarch64 machines. The bionic version of libgccjit
>>>>>> for aarch64 failed so I ended up having to build the latest from master
>>>>>> and adding it to the search path.
>>>>>>
>>>>>> Emacs seems to have built fine but when I run it I get:
>>>>>>
>>>>>> 08:41:58 [alex@qemu-test:~/s/emacs] $ emacs -nw
>>>>>> emacs: /usr/bin/../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln: cannot open shared object file: No such file or directory
>>>> <snip>
>>>>>> Any pointers?
>>>>>
>>>>> Hi Alex,
>>>>>
>>>>> Emacs thinks the binary is installed in '/usr/bin/' and the relative path
>>>>> to find the eln from there is expected to be
>>>>> '../lisp/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd/custom.eln'.
>>>>
>>>> Hmm it was configured:
>>>>
>>>> ./configure --prefix=/home/alex/src/emacs/install \
>>>> --with-x-toolkit=no --with-modules \
>>>> --with-nativecomp --with-xpm=ifavailable \
>>>> --with-gif=ifavailable --with-tiff=ifavailable
>>>
>>> Mmh I see. Would be interesting if you could check the DESTDIR value
>>> (if any) in your build environment.
>>
>> Definitely not in env:
>>
>> 19:55:42 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ + env | grep DESTDIR
>> 19:56:31 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ 1 +
>>
>>>>> I believe of the two information the first is wrong in this case. This
>>>>> is coming from the DESTDIR value while compiling. Is it possible that
>>>>> Emacs was compiled with a certain DESTDIR value and then installed using
>>>>> a different one?
>>>>
>>>> I can't quite follow where the automake magic sets DESTDIR but in the
>>>> main Makefile I certainly have:
>>>>
>>>> # The default location for installation. Everything is placed in
>>>> # subdirectories of this directory. The default values for many of
>>>> # the variables below are expressed in terms of this one, so you may
>>>> # not need to change them. This defaults to /usr/local.
>>>> prefix=/home/alex/src/emacs/install
>>>>
>>>> Where is DESTDIR defined during the build?
>>>
>>> That is a very good question.
>>
>> I can't see it set, although LISP and BIN DESTDIRS are set:
>>
>> 19:58:13 [alex@qemu-test:~/s/e/emacs.git] native-comp|✔ + remake
>> remake -C lib all
>> remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/lib'
>> remake[1]: Nothing to be done for 'all'.
>> remake[1]: Leaving directory '/home/alex/src/emacs/emacs.git/lib'
>> remake -C lib-src all
>> remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/lib-src'
>> remake[1]: Nothing to be done for 'all'.
>> remake[1]: Leaving directory '/home/alex/src/emacs/emacs.git/lib-src'
>> remake -C src VCSWITNESS='$(srcdir)/../.git/logs/HEAD' BIN_DESTDIR='/home/alex/src/emacs/install/bin/' \
>> LISP_DESTDIR='/home/alex/src/emacs/install/share/emacs/28.0.50/lisp/' all
>> remake[1]: Entering directory '/home/alex/src/emacs/emacs.git/src'
>
> Regardless the DESTDIRS Unix mystery (!?) BIN_DESTDIR and LISP_DESTDIR
> are set correctly. But looking at you original error apparently Emacs
> is convinced to start from '/usr/bin/' and not
> '/home/alex/src/emacs/install/bin/'.
>
> This '/usr/bin/' should be the value of `invocation-directory' while
> executing pdumper.c:5312. Is this value wrong or we are missing
> something else?
Heh - so I patched pdumper to dump the variables at that point and
re-built:
dump_do_dump_relocation: installation_state:2 ivoncation_dir:
and now the built emacs boots up fine. So I'm guessing there
must have been a stale pdumper.o that didn't get built for some reason.
Sorry for the noise.
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-17 11:00 ` Alex Bennée
@ 2020-05-17 12:45 ` Andrea Corallo
2020-05-17 13:55 ` Alex Bennée
0 siblings, 1 reply; 25+ messages in thread
From: Andrea Corallo @ 2020-05-17 12:45 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Alex Bennée <alex.bennee@linaro.org> writes:
> Heh - so I patched pdumper to dump the variables at that point and
> re-built:
>
> dump_do_dump_relocation: installation_state:2 ivoncation_dir:
>
> and now the built emacs boots up fine. So I'm guessing there
> must have been a stale pdumper.o that didn't get built for some reason.
>
> Sorry for the noise.
Hi Alex,
no issue. Is very good somebody tests Aarch64, thanks for that!
Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-17 12:45 ` Andrea Corallo
@ 2020-05-17 13:55 ` Alex Bennée
2020-05-17 14:26 ` Andrea Corallo
0 siblings, 1 reply; 25+ messages in thread
From: Alex Bennée @ 2020-05-17 13:55 UTC (permalink / raw)
To: Andrea Corallo; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Heh - so I patched pdumper to dump the variables at that point and
>> re-built:
>>
>> dump_do_dump_relocation: installation_state:2 ivoncation_dir:
>>
>> and now the built emacs boots up fine. So I'm guessing there
>> must have been a stale pdumper.o that didn't get built for some reason.
>>
>> Sorry for the noise.
>
> Hi Alex,
>
> no issue. Is very good somebody tests Aarch64, thanks for that!
While on that subject is there any sort of benchmarking used to see if a
given arch is generating good code? Certainly on x86 I noticed a
speed-up in gnus but that is more subjective than objective.
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-17 13:55 ` Alex Bennée
@ 2020-05-17 14:26 ` Andrea Corallo
2020-05-18 15:10 ` Alex Bennée
0 siblings, 1 reply; 25+ messages in thread
From: Andrea Corallo @ 2020-05-17 14:26 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Alex Bennée <alex.bennee@linaro.org> writes:
> Andrea Corallo <akrl@sdf.org> writes:
>
>> Alex Bennée <alex.bennee@linaro.org> writes:
>>
>>> Heh - so I patched pdumper to dump the variables at that point and
>>> re-built:
>>>
>>> dump_do_dump_relocation: installation_state:2 ivoncation_dir:
>>>
>>> and now the built emacs boots up fine. So I'm guessing there
>>> must have been a stale pdumper.o that didn't get built for some reason.
>>>
>>> Sorry for the noise.
>>
>> Hi Alex,
>>
>> no issue. Is very good somebody tests Aarch64, thanks for that!
>
> While on that subject is there any sort of benchmarking used to see if a
> given arch is generating good code? Certainly on x86 I noticed a
> speed-up in gnus but that is more subjective than objective.
Hi Alex,
I believe so far what we have is this:
https://elpa.gnu.org/packages/elisp-benchmarks.html
Note that you have to native compile by hand the tests because this
package doesn't know about native compilation.
Bests
Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-17 14:26 ` Andrea Corallo
@ 2020-05-18 15:10 ` Alex Bennée
2020-05-18 15:39 ` Andrea Corallo
0 siblings, 1 reply; 25+ messages in thread
From: Alex Bennée @ 2020-05-18 15:10 UTC (permalink / raw)
To: Andrea Corallo; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Andrea Corallo <akrl@sdf.org> writes:
>>
>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>
>>>> Heh - so I patched pdumper to dump the variables at that point and
>>>> re-built:
>>>>
>>>> dump_do_dump_relocation: installation_state:2 ivoncation_dir:
>>>>
>>>> and now the built emacs boots up fine. So I'm guessing there
>>>> must have been a stale pdumper.o that didn't get built for some reason.
>>>>
>>>> Sorry for the noise.
>>>
>>> Hi Alex,
>>>
>>> no issue. Is very good somebody tests Aarch64, thanks for that!
>>
>> While on that subject is there any sort of benchmarking used to see if a
>> given arch is generating good code? Certainly on x86 I noticed a
>> speed-up in gnus but that is more subjective than objective.
>
> Hi Alex,
>
> I believe so far what we have is this:
>
> https://elpa.gnu.org/packages/elisp-benchmarks.html
>
> Note that you have to native compile by hand the tests because this
> package doesn't know about native compilation.
I did C-h f elisp-benchmark-run and navigated to the file and executed
(native-compile (buffer-file-name)) and waited for it to dump the .eln
filename. The results don't seem that impressive so I don't know if I
did something wrong or if libgccjit is just being poor on Aarch64. The
machine is a TX1 so the individual cores aren't supper powerful anyway
but I was hoping for better:
* Before Results (byte-compiled)
| test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
|----------------+----------------+------------+---------+-------------+-----------------|
| bubble-no-cons | 217.03 | 0.00 | 0 | 217.03 | 2.66 |
| bubble | 91.18 | 53.77 | 68 | 144.95 | 3.37 |
| dhrystone | 289.30 | 85.21 | 106 | 374.51 | 3.80 |
| fibn-rec | 139.91 | 0.00 | 0 | 139.91 | 0.58 |
| fibn-tc | 164.23 | 0.00 | 0 | 164.23 | 4.53 |
| fibn | 189.61 | 0.00 | 0 | 189.61 | 2.42 |
| inclist | 281.67 | 0.00 | 0 | 281.67 | 5.13 |
| listlen-tc | 263.80 | 0.00 | 0 | 263.80 | 10.06 |
| nbody | 70.62 | 92.60 | 114 | 163.23 | 4.30 |
| pidigits | 180.40 | 64.86 | 62 | 245.26 | 3.08 |
|----------------+----------------+------------+---------+-------------+-----------------|
| total | 1887.75 | 296.44 | 350 | 2184.19 | 14.67 |
| | | | | | |
* After Results (native-compiled)
| test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
|----------------+----------------+------------+---------+-------------+-----------------|
| bubble-no-cons | 206.13 | 0.00 | 0 | 206.13 | 4.67 |
| bubble | 88.84 | 48.20 | 65 | 137.05 | 0.73 |
| dhrystone | 301.94 | 75.30 | 102 | 377.24 | 4.91 |
| fibn-rec | 143.44 | 0.00 | 0 | 143.44 | 3.26 |
| fibn-tc | 165.60 | 0.00 | 0 | 165.60 | 1.99 |
| fibn | 186.95 | 0.00 | 0 | 186.95 | 6.08 |
| inclist | 270.98 | 0.00 | 0 | 270.98 | 1.57 |
| listlen-tc | 248.98 | 0.00 | 0 | 248.98 | 5.37 |
| nbody | 71.46 | 82.83 | 110 | 154.30 | 2.88 |
| pidigits | 192.83 | 61.80 | 59 | 254.63 | 2.56 |
|----------------+----------------+------------+---------+-------------+-----------------|
| total | 1877.15 | 268.14 | 336 | 2145.29 | 12.01 |
I guess it's time to start looking at the generated code?
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-18 15:10 ` Alex Bennée
@ 2020-05-18 15:39 ` Andrea Corallo
2020-05-18 16:34 ` Alex Bennée
0 siblings, 1 reply; 25+ messages in thread
From: Andrea Corallo @ 2020-05-18 15:39 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Alex Bennée <alex.bennee@linaro.org> writes:
> Andrea Corallo <akrl@sdf.org> writes:
>
>> Alex Bennée <alex.bennee@linaro.org> writes:
>>
>>> Andrea Corallo <akrl@sdf.org> writes:
>>>
>>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>>
>>>>> Heh - so I patched pdumper to dump the variables at that point and
>>>>> re-built:
>>>>>
>>>>> dump_do_dump_relocation: installation_state:2 ivoncation_dir:
>>>>>
>>>>> and now the built emacs boots up fine. So I'm guessing there
>>>>> must have been a stale pdumper.o that didn't get built for some reason.
>>>>>
>>>>> Sorry for the noise.
>>>>
>>>> Hi Alex,
>>>>
>>>> no issue. Is very good somebody tests Aarch64, thanks for that!
>>>
>>> While on that subject is there any sort of benchmarking used to see if a
>>> given arch is generating good code? Certainly on x86 I noticed a
>>> speed-up in gnus but that is more subjective than objective.
>>
>> Hi Alex,
>>
>> I believe so far what we have is this:
>>
>> https://elpa.gnu.org/packages/elisp-benchmarks.html
>>
>> Note that you have to native compile by hand the tests because this
>> package doesn't know about native compilation.
>
> I did C-h f elisp-benchmark-run and navigated to the file and executed
> (native-compile (buffer-file-name)) and waited for it to dump the .eln
> filename. The results don't seem that impressive so I don't know if I
> did something wrong or if libgccjit is just being poor on Aarch64. The
> machine is a TX1 so the individual cores aren't supper powerful anyway
> but I was hoping for better:
>
> * Before Results (byte-compiled)
>
> | test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
> |----------------+----------------+------------+---------+-------------+-----------------|
> | bubble-no-cons | 217.03 | 0.00 | 0 | 217.03 | 2.66 |
> | bubble | 91.18 | 53.77 | 68 | 144.95 | 3.37 |
> | dhrystone | 289.30 | 85.21 | 106 | 374.51 | 3.80 |
> | fibn-rec | 139.91 | 0.00 | 0 | 139.91 | 0.58 |
> | fibn-tc | 164.23 | 0.00 | 0 | 164.23 | 4.53 |
> | fibn | 189.61 | 0.00 | 0 | 189.61 | 2.42 |
> | inclist | 281.67 | 0.00 | 0 | 281.67 | 5.13 |
> | listlen-tc | 263.80 | 0.00 | 0 | 263.80 | 10.06 |
> | nbody | 70.62 | 92.60 | 114 | 163.23 | 4.30 |
> | pidigits | 180.40 | 64.86 | 62 | 245.26 | 3.08 |
> |----------------+----------------+------------+---------+-------------+-----------------|
> | total | 1887.75 | 296.44 | 350 | 2184.19 | 14.67 |
> | | | | | | |
>
> * After Results (native-compiled)
>
> | test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
> |----------------+----------------+------------+---------+-------------+-----------------|
> | bubble-no-cons | 206.13 | 0.00 | 0 | 206.13 | 4.67 |
> | bubble | 88.84 | 48.20 | 65 | 137.05 | 0.73 |
> | dhrystone | 301.94 | 75.30 | 102 | 377.24 | 4.91 |
> | fibn-rec | 143.44 | 0.00 | 0 | 143.44 | 3.26 |
> | fibn-tc | 165.60 | 0.00 | 0 | 165.60 | 1.99 |
> | fibn | 186.95 | 0.00 | 0 | 186.95 | 6.08 |
> | inclist | 270.98 | 0.00 | 0 | 270.98 | 1.57 |
> | listlen-tc | 248.98 | 0.00 | 0 | 248.98 | 5.37 |
> | nbody | 71.46 | 82.83 | 110 | 154.30 | 2.88 |
> | pidigits | 192.83 | 61.80 | 59 | 254.63 | 2.56 |
> |----------------+----------------+------------+---------+-------------+-----------------|
> | total | 1877.15 | 268.14 | 336 | 2145.29 | 12.01 |
>
>
> I guess it's time to start looking at the generated code?
Hi Alex,
I suspect for some reason we are looking at two byte compiled runs. For
One option to verify that is to hack a little the code or other option
is to run this version instead:
https://gitlab.com/koral/elisp-benchmarks
I probably should update the official one to handle native compilation,
haven't done it so far due to lack of time and because native
compilation "officially" does not exists :)
Thanks
Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-18 15:39 ` Andrea Corallo
@ 2020-05-18 16:34 ` Alex Bennée
2020-05-18 17:23 ` Andrea Corallo
0 siblings, 1 reply; 25+ messages in thread
From: Alex Bennée @ 2020-05-18 16:34 UTC (permalink / raw)
To: Andrea Corallo; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Andrea Corallo <akrl@sdf.org> writes:
>>
>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>
>>>> Andrea Corallo <akrl@sdf.org> writes:
>>>>
>>>>> Alex Bennée <alex.bennee@linaro.org> writes:
>>>>>
>>>>>> Heh - so I patched pdumper to dump the variables at that point and
>>>>>> re-built:
>>>>>>
>>>>>> dump_do_dump_relocation: installation_state:2 ivoncation_dir:
>>>>>>
>>>>>> and now the built emacs boots up fine. So I'm guessing there
>>>>>> must have been a stale pdumper.o that didn't get built for some reason.
>>>>>>
>>>>>> Sorry for the noise.
>>>>>
>>>>> Hi Alex,
>>>>>
>>>>> no issue. Is very good somebody tests Aarch64, thanks for that!
>>>>
>>>> While on that subject is there any sort of benchmarking used to see if a
>>>> given arch is generating good code? Certainly on x86 I noticed a
>>>> speed-up in gnus but that is more subjective than objective.
>>>
>>> Hi Alex,
>>>
>>> I believe so far what we have is this:
>>>
>>> https://elpa.gnu.org/packages/elisp-benchmarks.html
>>>
>>> Note that you have to native compile by hand the tests because this
>>> package doesn't know about native compilation.
>>
>> I did C-h f elisp-benchmark-run and navigated to the file and executed
>> (native-compile (buffer-file-name)) and waited for it to dump the .eln
>> filename. The results don't seem that impressive so I don't know if I
>> did something wrong or if libgccjit is just being poor on Aarch64. The
>> machine is a TX1 so the individual cores aren't supper powerful anyway
>> but I was hoping for better:
>>
>> * Before Results (byte-compiled)
>>
>> | test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
>> |----------------+----------------+------------+---------+-------------+-----------------|
>> | bubble-no-cons | 217.03 | 0.00 | 0 | 217.03 | 2.66 |
>> | bubble | 91.18 | 53.77 | 68 | 144.95 | 3.37 |
>> | dhrystone | 289.30 | 85.21 | 106 | 374.51 | 3.80 |
>> | fibn-rec | 139.91 | 0.00 | 0 | 139.91 | 0.58 |
>> | fibn-tc | 164.23 | 0.00 | 0 | 164.23 | 4.53 |
>> | fibn | 189.61 | 0.00 | 0 | 189.61 | 2.42 |
>> | inclist | 281.67 | 0.00 | 0 | 281.67 | 5.13 |
>> | listlen-tc | 263.80 | 0.00 | 0 | 263.80 | 10.06 |
>> | nbody | 70.62 | 92.60 | 114 | 163.23 | 4.30 |
>> | pidigits | 180.40 | 64.86 | 62 | 245.26 | 3.08 |
>> |----------------+----------------+------------+---------+-------------+-----------------|
>> | total | 1887.75 | 296.44 | 350 | 2184.19 | 14.67 |
>> | | | | | | |
>>
>> * After Results (native-compiled)
>>
>> | test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
>> |----------------+----------------+------------+---------+-------------+-----------------|
>> | bubble-no-cons | 206.13 | 0.00 | 0 | 206.13 | 4.67 |
>> | bubble | 88.84 | 48.20 | 65 | 137.05 | 0.73 |
>> | dhrystone | 301.94 | 75.30 | 102 | 377.24 | 4.91 |
>> | fibn-rec | 143.44 | 0.00 | 0 | 143.44 | 3.26 |
>> | fibn-tc | 165.60 | 0.00 | 0 | 165.60 | 1.99 |
>> | fibn | 186.95 | 0.00 | 0 | 186.95 | 6.08 |
>> | inclist | 270.98 | 0.00 | 0 | 270.98 | 1.57 |
>> | listlen-tc | 248.98 | 0.00 | 0 | 248.98 | 5.37 |
>> | nbody | 71.46 | 82.83 | 110 | 154.30 | 2.88 |
>> | pidigits | 192.83 | 61.80 | 59 | 254.63 | 2.56 |
>> |----------------+----------------+------------+---------+-------------+-----------------|
>> | total | 1877.15 | 268.14 | 336 | 2145.29 | 12.01 |
>>
>>
>> I guess it's time to start looking at the generated code?
>
> Hi Alex,
>
> I suspect for some reason we are looking at two byte compiled runs.
Ahh yes - all I managed to do was compile the main function as the
benchmarks themselves are in separate files.
> For
> One option to verify that is to hack a little the code or other option
> is to run this version instead:
>
> https://gitlab.com/koral/elisp-benchmarks
>
> I probably should update the official one to handle native compilation,
> haven't done it so far due to lack of time and because native
> compilation "officially" does not exists :)
Can it not be made to fail gracefully (and perhaps add the
interpreted/bytecode/compiled status to the output table?)
>
> Thanks
>
> Andrea
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-18 16:34 ` Alex Bennée
@ 2020-05-18 17:23 ` Andrea Corallo
2020-05-19 10:39 ` Alex Bennée
0 siblings, 1 reply; 25+ messages in thread
From: Andrea Corallo @ 2020-05-18 17:23 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Alex Bennée <alex.bennee@linaro.org> writes:
>> For
>> One option to verify that is to hack a little the code or other option
>> is to run this version instead:
>>
>> https://gitlab.com/koral/elisp-benchmarks
>>
>> I probably should update the official one to handle native compilation,
>> haven't done it so far due to lack of time and because native
>> compilation "officially" does not exists :)
>
> Can it not be made to fail gracefully (and perhaps add the
> interpreted/bytecode/compiled status to the output table?)
Yes I guess we should do something like that. Either add a table or
support the native compilation when available and the entry function is
called with the compile parameter set to t.
Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-18 17:23 ` Andrea Corallo
@ 2020-05-19 10:39 ` Alex Bennée
2020-05-19 10:46 ` Andrea Corallo
0 siblings, 1 reply; 25+ messages in thread
From: Alex Bennée @ 2020-05-19 10:39 UTC (permalink / raw)
To: Andrea Corallo; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>
>>> For
>>> One option to verify that is to hack a little the code or other option
>>> is to run this version instead:
>>>
>>> https://gitlab.com/koral/elisp-benchmarks
>>>
>>> I probably should update the official one to handle native compilation,
>>> haven't done it so far due to lack of time and because native
>>> compilation "officially" does not exists :)
>>
>> Can it not be made to fail gracefully (and perhaps add the
>> interpreted/bytecode/compiled status to the output table?)
>
> Yes I guess we should do something like that. Either add a table or
> support the native compilation when available and the entry function is
> called with the compile parameter set to t.
I added elisp-benchmarks.git to my .emacs.d and included in the
load-path but it fell over:
(require 'elisp-benchmark)
(elb-run)
But Messages show:
Compiling nbody.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/nbody.elc
Compiling bubble.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/bubble.elc
Compiling bubble-no-cons.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/bubble-no-cons.elc
Compiling fibn.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/fibn.elc
Compiling fibn-rec.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/fibn-rec.elc
Compiling fibn-tc.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/fibn-tc.elc
Compiling inclist-tc.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/inclist-tc.elc
Compiling listlen-tc.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/listlen-tc.elc
Compiling inclist-no-type-hints.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/inclist-no-type-hints.elc
Compiling inclist-type-hints.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/inclist-type-hints.elc
Compiling dhrystone.el
Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/dhrystone.elc
Loading /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/nbody.elc...done
Running /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/nbody.el byte compiled...
res: -0.16908075525401578
and: Cannot open load file: No such file or directory, /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/nbody.eln
However there I do have a directory with eln files in it:
/home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd
~/.emacs.d/elisp-benchmarks.git/benchmarks/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd $ ls -l
total 221
-rwxrwxr-x 1 alex alex 13464 2020-05-19 06:39 bubble-no-cons.eln
-rwxrwxr-x 1 alex alex 13416 2020-05-19 06:39 bubble.eln
-rwxrwxr-x 1 alex alex 70616 2020-05-19 06:42 dhrystone.eln
-rwxrwxr-x 1 alex alex 13416 2020-05-19 06:39 fibn-rec.eln
-rwxrwxr-x 1 alex alex 13424 2020-05-19 06:39 fibn-tc.eln
-rwxrwxr-x 1 alex alex 13408 2020-05-19 06:39 fibn.eln
-rwxrwxr-x 1 alex alex 13480 2020-05-19 06:39 inclist-no-type-hints.eln
-rwxrwxr-x 1 alex alex 13440 2020-05-19 06:39 inclist-tc.eln
-rwxrwxr-x 1 alex alex 13464 2020-05-19 06:39 inclist-type-hints.eln
-rwxrwxr-x 1 alex alex 13440 2020-05-19 06:39 listlen-tc.eln
-rwxrwxr-x 1 alex alex 35016 2020-05-19 06:39 nbody.eln
So I guess this is another path searching problem?
>
> Andrea
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-19 10:39 ` Alex Bennée
@ 2020-05-19 10:46 ` Andrea Corallo
2020-05-19 14:49 ` Andrea Corallo
0 siblings, 1 reply; 25+ messages in thread
From: Andrea Corallo @ 2020-05-19 10:46 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Alex Bennée <alex.bennee@linaro.org> writes:
> Andrea Corallo <akrl@sdf.org> writes:
>
>> Alex Bennée <alex.bennee@linaro.org> writes:
>>
>>
>>>> For
>>>> One option to verify that is to hack a little the code or other option
>>>> is to run this version instead:
>>>>
>>>> https://gitlab.com/koral/elisp-benchmarks
>>>>
>>>> I probably should update the official one to handle native compilation,
>>>> haven't done it so far due to lack of time and because native
>>>> compilation "officially" does not exists :)
>>>
>>> Can it not be made to fail gracefully (and perhaps add the
>>> interpreted/bytecode/compiled status to the output table?)
>>
>> Yes I guess we should do something like that. Either add a table or
>> support the native compilation when available and the entry function is
>> called with the compile parameter set to t.
>
> I added elisp-benchmarks.git to my .emacs.d and included in the
> load-path but it fell over:
>
> (require 'elisp-benchmark)
> (elb-run)
>
> But Messages show:
>
> Compiling nbody.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/nbody.elc
> Compiling bubble.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/bubble.elc
> Compiling bubble-no-cons.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/bubble-no-cons.elc
> Compiling fibn.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/fibn.elc
> Compiling fibn-rec.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/fibn-rec.elc
> Compiling fibn-tc.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/fibn-tc.elc
> Compiling inclist-tc.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/inclist-tc.elc
> Compiling listlen-tc.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/listlen-tc.elc
> Compiling inclist-no-type-hints.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/inclist-no-type-hints.elc
> Compiling inclist-type-hints.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/inclist-type-hints.elc
> Compiling dhrystone.el
> Wrote /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/dhrystone.elc
> Loading /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/nbody.elc...done
> Running /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/nbody.el byte compiled...
> res: -0.16908075525401578
> and: Cannot open load file: No such file or directory, /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/nbody.eln
>
> However there I do have a directory with eln files in it:
>
> /home/alex/.emacs.d/elisp-benchmarks.git/benchmarks/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd
>
> ~/.emacs.d/elisp-benchmarks.git/benchmarks/eln-aarch64-unknown-linux-gnu-e59b16aa72ffe0cd $ ls -l
> total 221
> -rwxrwxr-x 1 alex alex 13464 2020-05-19 06:39 bubble-no-cons.eln
> -rwxrwxr-x 1 alex alex 13416 2020-05-19 06:39 bubble.eln
> -rwxrwxr-x 1 alex alex 70616 2020-05-19 06:42 dhrystone.eln
> -rwxrwxr-x 1 alex alex 13416 2020-05-19 06:39 fibn-rec.eln
> -rwxrwxr-x 1 alex alex 13424 2020-05-19 06:39 fibn-tc.eln
> -rwxrwxr-x 1 alex alex 13408 2020-05-19 06:39 fibn.eln
> -rwxrwxr-x 1 alex alex 13480 2020-05-19 06:39 inclist-no-type-hints.eln
> -rwxrwxr-x 1 alex alex 13440 2020-05-19 06:39 inclist-tc.eln
> -rwxrwxr-x 1 alex alex 13464 2020-05-19 06:39 inclist-type-hints.eln
> -rwxrwxr-x 1 alex alex 13440 2020-05-19 06:39 listlen-tc.eln
> -rwxrwxr-x 1 alex alex 35016 2020-05-19 06:39 nbody.eln
>
> So I guess this is another path searching problem?
I see, I realize this code was written with the old layout directory
arrangement.
Try this hack...
./emacs -batch -l /tmp/elisp-benchmarks/elisp-benchmark.el --eval '(progn (setq comp-speed 3) (setq comp-native-path-postfix nil) (elb-run))'
I really have to update elisp-benchmarks on elpa.
Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-19 10:46 ` Andrea Corallo
@ 2020-05-19 14:49 ` Andrea Corallo
2020-05-19 18:35 ` Alex Bennée
2020-05-19 21:07 ` Thomas Fitzsimmons
0 siblings, 2 replies; 25+ messages in thread
From: Andrea Corallo @ 2020-05-19 14:49 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> I really have to update elisp-benchmarks on elpa.
Hi Alex, with the latest elpa elisp-benchamrks (1.5) just
.../emacs -batch -l .../elisp-benchmarks.el -f elisp-benchmarks-run
should now do everything automatically, using native-comp if available
or the byte-compiler otherwise.
Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-19 14:49 ` Andrea Corallo
@ 2020-05-19 18:35 ` Alex Bennée
2020-05-19 18:57 ` Andrea Corallo
2020-05-19 21:07 ` Thomas Fitzsimmons
1 sibling, 1 reply; 25+ messages in thread
From: Alex Bennée @ 2020-05-19 18:35 UTC (permalink / raw)
To: Andrea Corallo; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Andrea Corallo <akrl@sdf.org> writes:
>
>> I really have to update elisp-benchmarks on elpa.
>
> Hi Alex, with the latest elpa elisp-benchamrks (1.5) just
>
> .../emacs -batch -l .../elisp-benchmarks.el -f elisp-benchmarks-run
>
> should now do everything automatically, using native-comp if available
> or the byte-compiler otherwise.
That's better:
* Results
| test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
|----------------+----------------+------------+---------+-------------+-----------------|
| bubble-no-cons | 12.92 | 0.05 | 1 | 12.97 | 0.05 |
| bubble | 10.40 | 1.06 | 1 | 11.46 | 1.04 |
| dhrystone | 16.78 | 0.00 | 0 | 16.78 | 0.21 |
| fibn-rec | 11.39 | 0.00 | 0 | 11.39 | 0.02 |
| fibn-tc | 7.94 | 0.00 | 0 | 7.94 | 0.03 |
| fibn | 23.42 | 0.00 | 0 | 23.42 | 0.03 |
| inclist | 8.17 | 0.04 | 1 | 8.21 | 0.04 |
| listlen-tc | 0.86 | 0.00 | 0 | 0.86 | 0.01 |
| nbody | 9.30 | 0.88 | 1 | 10.18 | 0.14 |
| pidigits | 29.79 | 5.77 | 1 | 35.57 | 7.13 |
|----------------+----------------+------------+---------+-------------+-----------------|
| total | 130.97 | 7.81 | 5 | 138.78 | 7.21 |
I guess I need to enable async compilation now to ensure all the various
elpa/melpa packages are compiled.
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-19 18:35 ` Alex Bennée
@ 2020-05-19 18:57 ` Andrea Corallo
2020-05-20 7:06 ` Alex Bennée
2020-05-25 14:13 ` Alex Bennée
0 siblings, 2 replies; 25+ messages in thread
From: Andrea Corallo @ 2020-05-19 18:57 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Alex Bennée <alex.bennee@linaro.org> writes:
> Andrea Corallo <akrl@sdf.org> writes:
>
>> Andrea Corallo <akrl@sdf.org> writes:
>>
>>> I really have to update elisp-benchmarks on elpa.
>>
>> Hi Alex, with the latest elpa elisp-benchamrks (1.5) just
>>
>> .../emacs -batch -l .../elisp-benchmarks.el -f elisp-benchmarks-run
>>
>> should now do everything automatically, using native-comp if available
>> or the byte-compiler otherwise.
>
> That's better:
>
> * Results
>
> | test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
> |----------------+----------------+------------+---------+-------------+-----------------|
> | bubble-no-cons | 12.92 | 0.05 | 1 | 12.97 | 0.05 |
> | bubble | 10.40 | 1.06 | 1 | 11.46 | 1.04 |
> | dhrystone | 16.78 | 0.00 | 0 | 16.78 | 0.21 |
> | fibn-rec | 11.39 | 0.00 | 0 | 11.39 | 0.02 |
> | fibn-tc | 7.94 | 0.00 | 0 | 7.94 | 0.03 |
> | fibn | 23.42 | 0.00 | 0 | 23.42 | 0.03 |
> | inclist | 8.17 | 0.04 | 1 | 8.21 | 0.04 |
> | listlen-tc | 0.86 | 0.00 | 0 | 0.86 | 0.01 |
> | nbody | 9.30 | 0.88 | 1 | 10.18 | 0.14 |
> | pidigits | 29.79 | 5.77 | 1 | 35.57 | 7.13 |
> |----------------+----------------+------------+---------+-------------+-----------------|
> | total | 130.97 | 7.81 | 5 | 138.78 | 7.21 |
Does that means that we are observing a 15x perf uplift?
What's the uarch are we looking at?
Simple uarch usually benefit more, 15x is a lot tho.
> I guess I need to enable async compilation now to ensure all the various
> elpa/melpa packages are compiled.
Yes, on top of your .emacs
(setq comp-deferred-compilation t)
Thanks
Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-19 14:49 ` Andrea Corallo
2020-05-19 18:35 ` Alex Bennée
@ 2020-05-19 21:07 ` Thomas Fitzsimmons
1 sibling, 0 replies; 25+ messages in thread
From: Thomas Fitzsimmons @ 2020-05-19 21:07 UTC (permalink / raw)
To: Andrea Corallo; +Cc: Alex Bennée, emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Andrea Corallo <akrl@sdf.org> writes:
>
>> I really have to update elisp-benchmarks on elpa.
>
> Hi Alex, with the latest elpa elisp-benchamrks (1.5) just
>
> .../emacs -batch -l .../elisp-benchmarks.el -f elisp-benchmarks-run
>
> should now do everything automatically, using native-comp if available
> or the byte-compiler otherwise.
Here are results on GNU/Linux ppc64le, since I haven't seen any posted
for this architecture yet.
elisp-benchmarks commit fe6aa3ec9ca5f7568d7a1e5005382343b3bd9143.
Emacs commit cd4ef52c8673a76c6fcb0efd7d2c74778522038c, configured with:
./configure --with-x-toolkit=lucid --with-nativecomp
against Debian's libgccjit-9-dev.
* Results
| test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
|----------------+----------------+------------+---------+-------------+-----------------|
| bubble-no-cons | 7.83 | 0.02 | 1 | 7.85 | 0.03 |
| bubble | 4.38 | 0.15 | 1 | 4.53 | 0.02 |
| dhrystone | 19.03 | 0.00 | 0 | 19.03 | 0.03 |
| fibn-rec | 9.09 | 0.00 | 0 | 9.09 | 0.00 |
| fibn-tc | 5.94 | 0.00 | 0 | 5.94 | 0.00 |
| fibn | 17.65 | 0.00 | 0 | 17.65 | 0.00 |
| inclist | 1.52 | 0.02 | 1 | 1.54 | 0.01 |
| listlen-tc | 0.22 | 0.00 | 0 | 0.22 | 0.00 |
| nbody | 3.77 | 0.29 | 1 | 4.07 | 0.03 |
| pidigits | 8.11 | 1.83 | 1 | 9.94 | 0.32 |
|----------------+----------------+------------+---------+-------------+-----------------|
| total | 77.54 | 2.32 | 5 | 79.86 | 0.32 |
versus an Emacs built from master on 2020-04-25:
* Results
| test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
|----------------+----------------+------------+---------+-------------+-----------------|
| bubble-no-cons | 46.69 | 0.06 | 4 | 46.76 | 0.00 |
| bubble | 18.82 | 7.63 | 488 | 26.46 | 0.02 |
| dhrystone | 27.19 | 0.00 | 0 | 27.19 | 0.01 |
| fibn-rec | 19.63 | 0.00 | 0 | 19.63 | 0.00 |
| fibn-tc | 19.66 | 0.00 | 0 | 19.66 | 0.01 |
| fibn | 50.97 | 0.00 | 0 | 50.97 | 0.01 |
| inclist | 71.17 | 0.02 | 1 | 71.18 | 0.07 |
| listlen-tc | 17.77 | 0.00 | 0 | 17.77 | 0.00 |
| nbody | 7.67 | 13.22 | 839 | 20.89 | 0.02 |
| pidigits | 9.86 | 9.60 | 457 | 19.46 | 0.00 |
|----------------+----------------+------------+---------+-------------+-----------------|
| total | 289.43 | 30.53 | 1789 | 319.96 | 0.07 |
The build on the native-comp branch without --with-nativecomp fails with
a segfault during "GEN loaddefs.el".
Thomas
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-19 18:57 ` Andrea Corallo
@ 2020-05-20 7:06 ` Alex Bennée
2020-05-25 14:13 ` Alex Bennée
1 sibling, 0 replies; 25+ messages in thread
From: Alex Bennée @ 2020-05-20 7:06 UTC (permalink / raw)
To: Andrea Corallo; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Andrea Corallo <akrl@sdf.org> writes:
>>
>>> Andrea Corallo <akrl@sdf.org> writes:
>>>
>>>> I really have to update elisp-benchmarks on elpa.
>>>
>>> Hi Alex, with the latest elpa elisp-benchamrks (1.5) just
>>>
>>> .../emacs -batch -l .../elisp-benchmarks.el -f elisp-benchmarks-run
>>>
>>> should now do everything automatically, using native-comp if available
>>> or the byte-compiler otherwise.
>>
>> That's better:
>>
>> * Results
>>
>> | test | non-gc avg (s) | gc avg (s) | gcs avg | tot avg (s) | tot avg err (s) |
>> |----------------+----------------+------------+---------+-------------+-----------------|
>> | bubble-no-cons | 12.92 | 0.05 | 1 | 12.97 | 0.05 |
>> | bubble | 10.40 | 1.06 | 1 | 11.46 | 1.04 |
>> | dhrystone | 16.78 | 0.00 | 0 | 16.78 | 0.21 |
>> | fibn-rec | 11.39 | 0.00 | 0 | 11.39 | 0.02 |
>> | fibn-tc | 7.94 | 0.00 | 0 | 7.94 | 0.03 |
>> | fibn | 23.42 | 0.00 | 0 | 23.42 | 0.03 |
>> | inclist | 8.17 | 0.04 | 1 | 8.21 | 0.04 |
>> | listlen-tc | 0.86 | 0.00 | 0 | 0.86 | 0.01 |
>> | nbody | 9.30 | 0.88 | 1 | 10.18 | 0.14 |
>> | pidigits | 29.79 | 5.77 | 1 | 35.57 | 7.13 |
>> |----------------+----------------+------------+---------+-------------+-----------------|
>> | total | 130.97 | 7.81 | 5 | 138.78 | 7.21 |
>
> Does that means that we are observing a 15x perf uplift?
>
> What's the uarch are we looking at?
It's a ThunderX1 from Packet which I think is Caviums own uarch
confirming to Armv8.1:
./tests/tcg/aarch64-linux-user/sysregs
Checking Counter registers
ctr_el0 : 0x0000000095558005
cntvct_el0 : 0x0002f01fe6ef26fc
cntfrq_el0 : 0x0000000005f5e100
Checking CPUID registers
id_aa64isar0_el1 : 0x0000000000011120
id_aa64isar1_el1 : 0x0000000000000000
id_aa64mmfr0_el1 : 0x00000000ff000000
id_aa64pfr0_el1 : 0x0000000000000011
id_aa64pfr1_el1 : 0x0000000000000000
id_aa64dfr0_el1 : 0x0000000000000006
midr_el1 : 0x00000000431f0a11
mpidr_el1 : 0x0000000080000000
Remaining registers should fail
id_mmfr0_el1 : 0x00000000deadbeef
id_mmfr1_el1 : 0x00000000deadbeef
id_mmfr2_el1 : 0x00000000deadbeef
id_mmfr3_el1 : 0x00000000deadbeef
mvfr0_el1 : 0x00000000deadbeef
mvfr1_el1 : 0x00000000deadbeef
> Simple uarch usually benefit more, 15x is a lot tho.
I'm about to upgrade the box to a more recent Ubuntu so hopefully will
be able to use the stock libgccjit instead of a checkout. I'll see how
it looks then and also compare it to the stock Emacs.
>
>> I guess I need to enable async compilation now to ensure all the various
>> elpa/melpa packages are compiled.
>
> Yes, on top of your .emacs
>
> (setq comp-deferred-compilation t)
>
> Thanks
>
> Andrea
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-19 18:57 ` Andrea Corallo
2020-05-20 7:06 ` Alex Bennée
@ 2020-05-25 14:13 ` Alex Bennée
2020-05-25 15:01 ` Gong-Yi Liao 廖宮毅
2020-05-25 18:44 ` Andrea Corallo
1 sibling, 2 replies; 25+ messages in thread
From: Alex Bennée @ 2020-05-25 14:13 UTC (permalink / raw)
To: Andrea Corallo; +Cc: emacs-devel
Andrea Corallo <akrl@sdf.org> writes:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Andrea Corallo <akrl@sdf.org> writes:
>>
>>> Andrea Corallo <akrl@sdf.org> writes:
>>>
<snip>
>> |----------------+----------------+------------+---------+-------------+-----------------|
>> | total | 130.97 | 7.81 | 5 | 138.78 | 7.21 |
>
> Does that means that we are observing a 15x perf uplift?
>
> What's the uarch are we looking at?
>
> Simple uarch usually benefit more, 15x is a lot tho.
I've recently updated the host OS to the latest Ubuntu LTS so I was
trying to gather details with the system emacs for comparison:
"GNU Emacs 26.3 (build 2, aarch64-unknown-linux-gnu)
of 2020-03-26, modified by Debian"
But I don't seem to be able to get through one iteration. Could it be a
.elc breakage between 26 and master or something else?
Compiling... /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.el
Compiling /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.el...done
Wrote /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.elc
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.elc...done
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/bubble-no-cons...done
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/bubble...done
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/dhrystone...done
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/fibn-rec...done
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/fibn-tc...done
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/fibn...done
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/inclist...done
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/listlen-tc...done
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/nbody...done
Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits...done
Iteration number: 1
Running bubble-no-cons...
Running bubble...
Running dhrystone...
Running fibn-rec...
Running fibn-tc...
Running fibn...
Running inclist...
Running listlen-tc...
Re-entering top level after C stack overflow
I've tried various combinations of:
(setq max-specpdl-size 650)
(setq max-lisp-eval-depth 400)
but I'm mainly just guessing without any concrete idea of what numbers I
should be going for. Any ideas?
--
Alex Bennée
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-25 14:13 ` Alex Bennée
@ 2020-05-25 15:01 ` Gong-Yi Liao 廖宮毅
2020-05-25 18:44 ` Andrea Corallo
1 sibling, 0 replies; 25+ messages in thread
From: Gong-Yi Liao 廖宮毅 @ 2020-05-25 15:01 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel, Andrea Corallo
[-- Attachment #1: Type: text/plain, Size: 2870 bytes --]
Can (native-comp-speed 3) help here?
On Mon, May 25, 2020, 09:16 Alex Bennée <alex.bennee@linaro.org> wrote:
>
> Andrea Corallo <akrl@sdf.org> writes:
>
> > Alex Bennée <alex.bennee@linaro.org> writes:
> >
> >> Andrea Corallo <akrl@sdf.org> writes:
> >>
> >>> Andrea Corallo <akrl@sdf.org> writes:
> >>>
> <snip>
> >>
> |----------------+----------------+------------+---------+-------------+-----------------|
> >> | total | 130.97 | 7.81 | 5 |
> 138.78 | 7.21 |
> >
> > Does that means that we are observing a 15x perf uplift?
> >
> > What's the uarch are we looking at?
> >
> > Simple uarch usually benefit more, 15x is a lot tho.
>
> I've recently updated the host OS to the latest Ubuntu LTS so I was
> trying to gather details with the system emacs for comparison:
>
> "GNU Emacs 26.3 (build 2, aarch64-unknown-linux-gnu)
> of 2020-03-26, modified by Debian"
>
> But I don't seem to be able to get through one iteration. Could it be a
> .elc breakage between 26 and master or something else?
>
> Compiling...
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.el
> Compiling
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.el...done
> Wrote
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.elc
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.elc...done
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/bubble-no-cons...done
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/bubble...done
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/dhrystone...done
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/fibn-rec...done
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/fibn-tc...done
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/fibn...done
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/inclist...done
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/listlen-tc...done
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/nbody...done
> Loading
> /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits...done
> Iteration number: 1
> Running bubble-no-cons...
> Running bubble...
> Running dhrystone...
> Running fibn-rec...
> Running fibn-tc...
> Running fibn...
> Running inclist...
> Running listlen-tc...
> Re-entering top level after C stack overflow
>
> I've tried various combinations of:
>
> (setq max-specpdl-size 650)
> (setq max-lisp-eval-depth 400)
>
> but I'm mainly just guessing without any concrete idea of what numbers I
> should be going for. Any ideas?
>
> --
> Alex Bennée
>
>
[-- Attachment #2: Type: text/html, Size: 3689 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: Where is the eln search path defined
2020-05-25 14:13 ` Alex Bennée
2020-05-25 15:01 ` Gong-Yi Liao 廖宮毅
@ 2020-05-25 18:44 ` Andrea Corallo
1 sibling, 0 replies; 25+ messages in thread
From: Andrea Corallo @ 2020-05-25 18:44 UTC (permalink / raw)
To: Alex Bennée; +Cc: emacs-devel
Alex Bennée <alex.bennee@linaro.org> writes:
> Andrea Corallo <akrl@sdf.org> writes:
>
>> Alex Bennée <alex.bennee@linaro.org> writes:
>>
>>> Andrea Corallo <akrl@sdf.org> writes:
>>>
>>>> Andrea Corallo <akrl@sdf.org> writes:
>>>>
> <snip>
>>> |----------------+----------------+------------+---------+-------------+-----------------|
>>> | total | 130.97 | 7.81 | 5 | 138.78 | 7.21 |
>>
>> Does that means that we are observing a 15x perf uplift?
>>
>> What's the uarch are we looking at?
>>
>> Simple uarch usually benefit more, 15x is a lot tho.
>
> I've recently updated the host OS to the latest Ubuntu LTS so I was
> trying to gather details with the system emacs for comparison:
>
> "GNU Emacs 26.3 (build 2, aarch64-unknown-linux-gnu)
> of 2020-03-26, modified by Debian"
>
> But I don't seem to be able to get through one iteration. Could it be a
> .elc breakage between 26 and master or something else?
>
> Compiling... /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.el
> Compiling /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.el...done
> Wrote /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.elc
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits.elc...done
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/bubble-no-cons...done
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/bubble...done
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/dhrystone...done
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/fibn-rec...done
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/fibn-tc...done
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/fibn...done
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/inclist...done
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/listlen-tc...done
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/nbody...done
> Loading /home/alex/.emacs.d/elpa/elisp-benchmarks-1.5/benchmarks/pidigits...done
> Iteration number: 1
> Running bubble-no-cons...
> Running bubble...
> Running dhrystone...
> Running fibn-rec...
> Running fibn-tc...
> Running fibn...
> Running inclist...
> Running listlen-tc...
> Re-entering top level after C stack overflow
>
> I've tried various combinations of:
>
> (setq max-specpdl-size 650)
> (setq max-lisp-eval-depth 400)
>
> but I'm mainly just guessing without any concrete idea of what numbers I
> should be going for. Any ideas?
Hi Alex,
I believe for some reason this kernel is giving less room for the stack.
The only think you can do is to remove listlen-tc.el* or trim down
elb-listlen-tc-len in it.
Andrea
--
akrl@sdf.org
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2020-05-25 18:44 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-15 8:57 Where is the eln search path defined Alex Bennée
2020-05-15 16:49 ` Andrea Corallo
2020-05-15 17:19 ` Alex Bennée
2020-05-15 18:10 ` Andrea Corallo
2020-05-15 21:19 ` Alex Bennée
2020-05-15 21:55 ` Andrea Corallo
2020-05-17 11:00 ` Alex Bennée
2020-05-17 12:45 ` Andrea Corallo
2020-05-17 13:55 ` Alex Bennée
2020-05-17 14:26 ` Andrea Corallo
2020-05-18 15:10 ` Alex Bennée
2020-05-18 15:39 ` Andrea Corallo
2020-05-18 16:34 ` Alex Bennée
2020-05-18 17:23 ` Andrea Corallo
2020-05-19 10:39 ` Alex Bennée
2020-05-19 10:46 ` Andrea Corallo
2020-05-19 14:49 ` Andrea Corallo
2020-05-19 18:35 ` Alex Bennée
2020-05-19 18:57 ` Andrea Corallo
2020-05-20 7:06 ` Alex Bennée
2020-05-25 14:13 ` Alex Bennée
2020-05-25 15:01 ` Gong-Yi Liao 廖宮毅
2020-05-25 18:44 ` Andrea Corallo
2020-05-19 21:07 ` Thomas Fitzsimmons
2020-05-16 6:37 ` Eli Zaretskii
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).