Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
nodejs compile time
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Princess Nell
l33t
l33t


Joined: 15 Apr 2005
Posts: 927

PostPosted: Wed Dec 11, 2024 8:31 pm    Post subject: nodejs compile time Reply with quote

Excerpt:
Code:

2017-05-05T21:37:48 >>> net-libs/nodejs-6.9.4: 8′43″
2018-04-15T19:19:29 >>> net-libs/nodejs-8.11.1: 17′30″
2019-11-23T23:42:46 >>> net-libs/nodejs-12.13.0: 10:02:58
2020-05-20T21:21:05 >>> net-libs/nodejs-14.2.0: 1:02:04
2022-05-21T19:52:36 >>> net-libs/nodejs-16.14.2: 59′15″
2022-06-18T21:22:48 >>> net-libs/nodejs-18.3.0: 1:13:32
2023-05-27T23:54:43 >>> net-libs/nodejs-20.2.0: 1:25:51
2024-07-13T21:33:24 >>> net-libs/nodejs-22.3.0: 2:50:16
2024-08-17T20:11:17 >>> net-libs/nodejs-22.4.1-r1: 3:19:54
2024-10-26T23:33:21 >>> net-libs/nodejs-22.4.1-r1: 2:45:26

To put this into context, the emerge history goes back at least one, if not two build machines, and each new box was faster than the previous. I'm willing to accept the 2nd last entry as an outlier, but do we have an explanation for the compile time for this ebuild? On my system, it is required by all things mozilla, direct and derived, so I can't avoid it.
Code:

     Installed versions:  22.4.1-r1(0/22)^t(01:18:34 27/10/24)(icu npm snapshot ssl system-icu system-ssl -corepack -debug -doc -inspector -lto -pax-kernel -test CPU_FLAGS_X86="sse2")

I could probably disable npm, but not sure for how much gain.
Back to top
View user's profile Send private message
Banana
Moderator
Moderator


Joined: 21 May 2004
Posts: 1800
Location: Germany

PostPosted: Thu Dec 12, 2024 6:38 am    Post subject: Reply with quote

If it is about the long compile time, this is nothing new: https://github.com/orgs/nodejs/discussions/43451
_________________
Forum Guidelines

PFL - Portage file list - find which package a file or command belongs to.
My delta-labs.org snippets do expire
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20521

PostPosted: Sat Dec 14, 2024 5:20 am    Post subject: Reply with quote

08:17:35 - 13 03:12:24

That was fun.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
gorg86
Guru
Guru


Joined: 20 May 2011
Posts: 319

PostPosted: Mon Dec 16, 2024 8:12 pm    Post subject: Reply with quote

Post your emerge --info, those compile times are very long even for a potato PC.
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 2037

PostPosted: Mon Dec 16, 2024 8:45 pm    Post subject: Reply with quote

Someone reported this to me on IRC a few months ago and we did a little bit of digging. We found the substantial increase between iirc 20 and 22 started with an import of newer V8.

I filed a handful of GCC bugs (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116286, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116285) for some kind of slow compilations but they weren't smoking guns and I don't really feel like we got to the bottom of it. The difference for those 2 bugs I filed wasn't really ideal in terms of something we could easily reduce to make it more actionable, either.
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 407

PostPosted: Mon Dec 16, 2024 8:48 pm    Post subject: Reply with quote

Those times match mine:

qlop -vtm nodejs:
2023-05-01T01:35:20 >>> net-libs/nodejs-20.0.0: 1:32:03
2023-05-09T20:13:52 >>> net-libs/nodejs-20.1.0: 1:33:35
2023-05-18T21:38:58 >>> net-libs/nodejs-20.2.0: 1:26:32
2023-07-01T06:27:01 >>> net-libs/nodejs-20.3.1: 1:29:50
2023-08-13T12:01:04 >>> net-libs/nodejs-20.5.1: 1:31:38
2023-09-10T09:07:16 >>> net-libs/nodejs-20.6.0: 1:47:03
2023-09-13T17:40:33 >>> net-libs/nodejs-20.6.1: 1:35:12
2023-09-30T12:46:06 >>> net-libs/nodejs-20.7.0: 1:28:57
2023-10-23T08:42:28 >>> net-libs/nodejs-20.8.1: 1:27:23
2023-12-14T07:43:39 >>> net-libs/nodejs-20.9.0: 1:22:38
2024-01-29T02:05:34 >>> net-libs/nodejs-20.11.0: 1:26:11
2024-03-05T00:02:17 >>> net-libs/nodejs-20.11.1: 1:20:58
2024-08-05T16:15:26 >>> net-libs/nodejs-22.5.1: 3:14:25
2024-08-21T08:51:24 >>> net-libs/nodejs-22.6.0: 2:53:33
2024-08-31T23:00:21 >>> net-libs/nodejs-22.7.0: 3:12:56
2024-09-17T09:37:26 >>> net-libs/nodejs-22.8.0: 2:52:32
2024-11-11T20:38:17 >>> net-libs/nodejs-22.10.0: 3:17:04


nodejs is a massive pain in the ass to compile. I did at some point turn on LTO globally.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20521

PostPosted: Wed Dec 18, 2024 4:46 am    Post subject: Reply with quote

gorg86 wrote:
Post your emerge --info, those compile times are very long even for a potato PC.
If that's regarding mine, the results are a bit misleading. I had forgotten that I changed from -j3 to -j1 to prevent intermittent failures. It has been building with -j1 for some time... I'll try -j2 to see it works.

It seems likely that I switched from -j3 to -j1 with nodejs-20.5.1:
Code:
net-libs/nodejs-20.2.0: 1:29:57
net-libs/nodejs-20.2.0: 1:35:28
net-libs/nodejs-20.2.0: 1:33:24
net-libs/nodejs-20.5.1: 4:10:36
net-libs/nodejs-20.6.1: 4:18:17
net-libs/nodejs-20.11.0: 4:12:00
net-libs/nodejs-20.11.0: 4:28:08
net-libs/nodejs-20.12.1: 4:02:24
net-libs/nodejs-22.3.0: 6:53:02
net-libs/nodejs-22.4.1-r1: 6:56:54
net-libs/nodejs-22.4.1-r1: 6:55:44
net-libs/nodejs-22.4.1-r1: 6:54:49
I've been delaying an icu induced rebuild of nodejs / firefox, so I'll see what happens later this week.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2522

PostPosted: Wed Dec 18, 2024 6:19 am    Post subject: Reply with quote

With the consideration I'm assuming most of the commenters here do not seem to need nodejs for something other than a build time dependency, I would urge moving to binary packages for the ones that require nodejs as a build dependency. Nodejs is too big of a crap to waste any amount of time on it.

p.s. I hate that piece of .... for it made so much more .... possible. If it wasn't for firefox and calibre, it wouldn't exist on my computer.

Best Regards,
Georgi
Back to top
View user's profile Send private message
gorg86
Guru
Guru


Joined: 20 May 2011
Posts: 319

PostPosted: Wed Dec 18, 2024 11:35 am    Post subject: Reply with quote

@pjp I was talking to the OP :lol:
Back to top
View user's profile Send private message
Perfect Gentleman
Veteran
Veteran


Joined: 18 May 2014
Posts: 1256

PostPosted: Wed Dec 18, 2024 1:34 pm    Post subject: Reply with quote

Code:
2023-10-18T08:17:13 >>> net-libs/nodejs-20.8.1: 24m47s
2023-10-18T17:48:05 >>> net-libs/nodejs-20.8.1: 26m44s
2023-10-26T17:54:18 >>> net-libs/nodejs-21.1.0: 29m43s
2023-11-20T06:19:49 >>> net-libs/nodejs-21.1.0: 29m10s
2023-11-20T17:40:27 >>> net-libs/nodejs-21.2.0: 29m17s
2023-11-28T05:46:47 >>> net-libs/nodejs-21.2.0: 30m24s
2023-12-01T19:54:27 >>> net-libs/nodejs-21.3.0: 29m34s
2023-12-02T11:59:05 >>> net-libs/nodejs-21.3.0: 31m22s
2023-12-06T22:32:52 >>> net-libs/nodejs-21.4.0: 28m09s
2023-12-27T21:36:43 >>> net-libs/nodejs-21.5.0: 29m31s
2024-01-31T11:55:21 >>> net-libs/nodejs-21.6.1: 29m07s
2024-02-16T11:35:22 >>> net-libs/nodejs-21.6.2: 31m56s
2024-04-16T11:13:08 <<< net-libs/nodejs-21.7.3: 23s
2024-04-16T11:13:55 >>> net-libs/nodejs-20.12.2: 23m34s
2024-04-16T12:13:51 >>> net-libs/nodejs-21.7.3: 28m32s
2024-04-26T19:07:00 >>> net-libs/nodejs-22.0.0: 36m10s
2024-05-04T05:22:37 >>> net-libs/nodejs-22.1.0: 35m04s
2024-05-10T07:53:23 >>> net-libs/nodejs-22.1.0: 42m10s
2024-05-19T17:41:01 >>> net-libs/nodejs-22.2.0: 46m44s
2024-06-18T08:27:41 >>> net-libs/nodejs-22.3.0: 38m04s
2024-07-03T18:53:01 >>> net-libs/nodejs-22.4.0: 46m15s
2024-07-10T19:03:30 >>> net-libs/nodejs-22.4.1: 41m37s
2024-07-14T23:42:10 >>> net-libs/nodejs-22.4.1: 40m34s
2024-07-22T07:43:54 >>> net-libs/nodejs-22.5.1: 40m38s
2024-08-08T18:49:18 >>> net-libs/nodejs-22.6.0: 46m17s
2024-08-23T06:59:24 >>> net-libs/nodejs-22.7.0: 39m42s
2024-09-02T07:13:29 >>> net-libs/nodejs-22.7.0: 39m59s
2024-09-07T04:43:14 >>> net-libs/nodejs-22.8.0: 38m27s
2024-10-06T22:49:46 >>> net-libs/nodejs-22.9.0: 37m44s
2024-10-10T18:37:57 >>> net-libs/nodejs-22.9.0: 40m12s
2024-10-18T16:54:36 >>> net-libs/nodejs-23.0.0: 46m17s
2024-10-26T11:57:24 >>> net-libs/nodejs-23.1.0: 42m41s
2024-11-11T12:12:39 >>> net-libs/nodejs-23.1.0: 46m39s
2024-11-12T20:05:15 >>> net-libs/nodejs-23.2.0: 46m02s
2024-11-22T15:19:17 >>> net-libs/nodejs-23.3.0: 47m31s
2024-12-07T06:27:28 >>> net-libs/nodejs-23.3.0: 45m04s
2024-12-15T16:49:08 >>> net-libs/nodejs-23.4.0: 47m11s

i7-4770k


Last edited by Perfect Gentleman on Thu Dec 19, 2024 12:06 am; edited 1 time in total
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20521

PostPosted: Wed Dec 18, 2024 9:23 pm    Post subject: Reply with quote

gorg86 wrote:
@pjp I was talking to the OP :lol:
I wondered but couldn't tell as their results were a riced potato compared to my own :)
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3776
Location: Rasi, Finland

PostPosted: Wed Dec 18, 2024 10:14 pm    Post subject: Reply with quote

Code:
NBLK-WAX9X ~ # qlop -vtm nodejs | awk '(NR == 1); END {print}'
2023-04-14T03:01:44 >>> net-libs/nodejs-18.14.2: 1:25:31
2024-12-03T17:22:41 >>> net-libs/nodejs-22.4.1-r1: 4:31:02
... sure - build time has increased.
I wish bun or deno were alternatives already.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2301
Location: Adendorf, Germany

PostPosted: Thu Dec 19, 2024 7:22 am    Post subject: Reply with quote

This is on a Dell Precision Laptop with Intel Core i7-10875H CPU @ 2.30GHz (8 cores HT) with 64GB RAM:
Code:
sed@sed-m7550 ~ $ qlop -vtm nodejs
2024-10-29T09:37:53 >>> net-libs/nodejs-22.10.0: 2:06:34
2024-11-11T12:34:27 >>> net-libs/nodejs-22.10.0: 1:26:22
2024-11-12T07:54:13 >>> net-libs/nodejs-22.10.0: 1:13:27
2024-12-09T10:11:15 >>> net-libs/nodejs-22.10.0: 1:28:01
2024-12-11T20:55:18 >>> net-libs/nodejs-22.12.0: 1:10:49
I am using ccache if that matters.

Also my make.conf contains:
Code:
EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --jobs=7 --load-average=10.0"
MAKEOPTS="-j17 -l12"

I still think this is rather long, but it is a laptop after all.
_________________
Edited 220,176 times by Yamakuzure
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum