LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 11-12-2023, 08:54 AM   #3226
Tonus
Senior Member
 
Registered: Jan 2007
Location: Paris, France
Distribution: Slackware-15.0
Posts: 1,408
Blog Entries: 3

Rep: Reputation: 514Reputation: 514Reputation: 514Reputation: 514Reputation: 514Reputation: 514
emacs compile options


Could we have this :
Code:
--with-native-compilation
From emacs wiki :
Quote:
GccEmacs refers to the --with-native-compilation configuration option when building Emacs, which adds support for compiling EmacsLisp to native code using libgccjit. All of the Elisp packages shipped with Emacs are native-compiled, providing a noticeable performance improvement out-of-the-box. Third-party packages are also compiled to achieve further performance improvements.
From Doom Emacs that rang a bell :
Quote:
Users will see a substantial performance gain by building Emacs with native compilation support, availible in emacs 28+.
Regards

Tonus
 
1 members found this post helpful.
Old 11-12-2023, 09:16 AM   #3227
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,493

Rep: Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244
Quote:
Originally Posted by Tonus View Post
Could we have this :
Code:
--with-native-compilation
In the Slackbuild
Code:
# Without this, the emacs-no-x11 binary won't work with the installed files:
PDUMPER=${PDUMPER:-"--with-pdumper=no --with-dumping=unexec"}
and
Code:
'--with-native-compilation' is not compatible with unexec
 
Old 11-12-2023, 09:21 AM   #3228
Tonus
Senior Member
 
Registered: Jan 2007
Location: Paris, France
Distribution: Slackware-15.0
Posts: 1,408
Blog Entries: 3

Rep: Reputation: 514Reputation: 514Reputation: 514Reputation: 514Reputation: 514Reputation: 514
Quote:
Originally Posted by marav View Post
Code:
'--with-native-compilation' is not compatible with unexec
Missed that, thank you.

Maybe we could have it in emacs-with-X11 ?

I could live with
Code:
emacs-with-X11 -nw
 
Old 11-12-2023, 11:02 AM   #3229
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,092

Rep: Reputation: Disabled
FWIW, packages for emacs-nativecomp-29.1 and its dependency libgccjit for Slackware 15.0 and compatible distributions are available in http://slackware.uk/slint/x86_64/sli...0/slint/extra/, its dependency tree-sitter in http://slackware.uk/slint/x86_64/slint-15.0/slint and their sources in http://slackware.uk/slint/x86_64/slint-15.0/source/.

I do not use emacs, but users who requested and tried it did not find any issue or drawback switching to emacs-nativecomp (package version 57.0 was provided on Tuesday 11 April 2023, updated since)
 
2 members found this post helpful.
Old 11-12-2023, 03:16 PM   #3230
Tonus
Senior Member
 
Registered: Jan 2007
Location: Paris, France
Distribution: Slackware-15.0
Posts: 1,408
Blog Entries: 3

Rep: Reputation: 514Reputation: 514Reputation: 514Reputation: 514Reputation: 514Reputation: 514
I guess I would have first to request for gcc to have this change from
Code:
--enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++ \
to
Code:
--enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,jit \
That would make things easier to get the modded emacs to run
 
Old 11-13-2023, 12:03 AM   #3231
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 810

Rep: Reputation: 941Reputation: 941Reputation: 941Reputation: 941Reputation: 941Reputation: 941Reputation: 941Reputation: 941
Can we bump pango to 1.51.0? Its a trivial update and built fine here when I tested it.
 
1 members found this post helpful.
Old 11-13-2023, 08:04 AM   #3232
GazL
LQ Veteran
 
Registered: May 2008
Posts: 6,932

Rep: Reputation: 5050Reputation: 5050Reputation: 5050Reputation: 5050Reputation: 5050Reputation: 5050Reputation: 5050Reputation: 5050Reputation: 5050Reputation: 5050Reputation: 5050
Quote:
Originally Posted by Tonus View Post
I guess I would have first to request for gcc to have this change from
Code:
--enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++ \
to
Code:
--enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,jit \
That would make things easier to get the modded emacs to run
You'd also need --enable-host-shared which comes at a performance cost. The recommended solution for distributors is to build gcc twice: first just for jit with --enable-host-shared, and then again for everything else without --enable-host-shared.

BTW, the native compilation will make emacs use a lot more space in each users home directory for all the compiled objects — unless you use --with-native-compilation=aot (which will result in then all going into /usr at emacs build time.

As for the emacs package itself, IMO it'd be best to split the "with X11" and "without X11" builds into separate packages and perhaps put one of them (I'd suggest the without X11) in extra/ as an alternative (or just drop it if no one cares about it).

Last edited by GazL; 11-13-2023 at 08:12 AM.
 
1 members found this post helpful.
Old 11-13-2023, 01:00 PM   #3233
reddog83
Member
 
Registered: Apr 2018
Distribution: Slackware 15.0/Current
Posts: 470

Rep: Reputation: 246Reputation: 246Reputation: 246
Vala 0.56.14

Quote:
Vala 0.56.14
============
* Various improvements and bug fixes:
- codegen: Generate compatible wrapper of ref-void functions [#1486]
- vala: Prevent usage of strlen() on non-null-terminated string [#1485]

* Bindings:
- glib-2.0: Add new symbols from 2.78
- gstreamer-1.0: Make ElementFactory.make()'s name parameter default to null
- gtk4-wayland: Add the missing wayland-client bindings
- wayland-client: Complete the binding
https://download.gnome.org/sources/v...0.56.14.tar.xz
https://download.gnome.org/sources/v...6.14.sha256sum
 
Old 11-13-2023, 03:54 PM   #3234
Tonus
Senior Member
 
Registered: Jan 2007
Location: Paris, France
Distribution: Slackware-15.0
Posts: 1,408
Blog Entries: 3

Rep: Reputation: 514Reputation: 514Reputation: 514Reputation: 514Reputation: 514Reputation: 514
Quote:
Originally Posted by GazL View Post
You'd also need --enable-host-shared which comes at a performance cost. The recommended solution for distributors is to build gcc twice: first just for jit with --enable-host-shared, and then again for everything else without --enable-host-shared.
That's far out of my league.

Thanks for raising this.

I guess that will happen if Pat thinks it worths it. Seems to much of a hassle for me at this very moment.
 
1 members found this post helpful.
Old 11-14-2023, 06:51 AM   #3235
Pixxt
Member
 
Registered: May 2008
Distribution: Slackware, Debian,
Posts: 291

Rep: Reputation: 187Reputation: 187
Plocate

Plocate Is A Much Faster locate (Drop-In Replacement For mlocate)

Quote:
plocate is a newer, much faster locate. It's based on posting lists, giving much faster searches on a much smaller index.

The command-line tool is a drop-in replacement for mlocate (Merging Locate; a restricted-access database, only showing filenames accessible to the user) in nearly all aspects, including reusing the mlocate database (plocate creates its own index using plocate-build which reads the database made by updatedb), and is fast on SSDs and HDDs alike.
Quote:
plocate works by creating an inverted index over trigrams (combinations of three bytes) in the search strings, which allows it to rapidly narrow down the set of candidates to a very small list, instead of linearly scanning through every entry. It does nearly all I/O asynchronously using io_uring if available (Linux 5.1+), which reduces the impact of seek latency on systems without SSDs.
https://plocate.sesse.net/
 
2 members found this post helpful.
Old 11-14-2023, 08:57 AM   #3236
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 907

Rep: Reputation: 698Reputation: 698Reputation: 698Reputation: 698Reputation: 698Reputation: 698
Quote:
Originally Posted by Pixxt View Post
Plocate

Plocate Is A Much Faster locate (Drop-In Replacement For mlocate)

https://plocate.sesse.net/
It's not quite a drop-in replacement:

https://devctrl.blog/posts/plocate-n...e-using-btfrs/

Thanks to your post I tried it out, and... first try failed to find the file I was looking for (after "removepkg mlocate", "plocate-build /var/lib/mlocate/mlocate.db /var/lib/plocate/plocate.db", "/etc/cron.daily/plocate"). I was perplexed until finding the above article.

So changing PRUNE_BIND_MOUNTS to "no" in /etc/updatedb.conf and rerunning /etc/cron.daily/plocate, now it works.

Much faster I might add:
Code:
time mlocate <file>:
real    1m26.909s
user    1m26.469s
sys     0m0.436s

time plocate <file>:
real    0m0.014s
user    0m0.008s
sys     0m0.005s
So yeah I'm switching to plocate because I often find myself avoiding using mlocate because of how slow it is for me.
 
2 members found this post helpful.
Old 11-14-2023, 09:47 AM   #3237
USUARIONUEVO
Senior Member
 
Registered: Apr 2015
Posts: 2,364

Rep: Reputation: 964Reputation: 964Reputation: 964Reputation: 964Reputation: 964Reputation: 964Reputation: 964Reputation: 964
Hi , the package zxing-cpp is used to link by

gst-plugins-bad-free

Then the correct directory is under /l not under /kde cause is not especific/only librarie used by kde.

Thanks for the work!

Last edited by USUARIONUEVO; 11-14-2023 at 09:48 AM.
 
1 members found this post helpful.
Old 11-14-2023, 11:28 AM   #3238
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,493

Rep: Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244
Quote:
Originally Posted by USUARIONUEVO View Post
[It] is not especific/only librarie used by kde.
What else ?
 
Old 11-14-2023, 11:31 AM   #3239
ReaperX7
LQ Guru
 
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,558
Blog Entries: 15

Rep: Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097Reputation: 2097
Fix for the kernel to unlock more than 8 cores per scheduler:

https://thehftguy.com/2023/11/14/the...arly-20-years/

https://github.com/torvalds/linux/co...2ae2d9633ba5cd
 
Old 11-14-2023, 11:35 AM   #3240
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,493

Rep: Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244Reputation: 4244
Quote:
Originally Posted by ReaperX7 View Post
14 years old commit ? Unbelievable...

Last edited by marav; 11-14-2023 at 11:38 AM.
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Apache 2.4 requests to non-SSL site with "Upgrade-Insecure-Requests: 1" and no trailing / get redirected to default site owendelong Linux - Server 2 06-22-2021 02:08 PM
[SOLVED] Requests for -current (20151216) rworkman Slackware 3441 12-28-2017 03:50 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 11:51 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration