Summary: | webapp.eclass causing huge delay in src_install | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Thomas Deutschmann (RETIRED) <whissi> |
Component: | Eclasses | Assignee: | Gentoo Web Application Packages Maintainers <web-apps> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | flow, kroemmelbein, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=749624 https://bugs.gentoo.org/show_bug.cgi?id=841212 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | Patch misc-functions.sh to output begin and end time for each install-qa-check.d script |
Created attachment 698856 [details, diff]
Patch misc-functions.sh to output begin and end time for each install-qa-check.d script
Please use something like this to collect individual times for each install-qa-check.d script.
I was wrong. QA checks are only running for ~5 seconds -- it is the webapp eclass :/ eclass-debug.log is very large... full of calls to webapp_checkfileexists webapp_strip_cwd webapp_strip_d Hmm, I wonder if that could be optimized... The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83b08b7d9434e5829ddaee08562790a2d939fa99 commit 83b08b7d9434e5829ddaee08562790a2d939fa99 Author: Florian Schmaus <flow@gentoo.org> AuthorDate: 2023-10-17 12:38:00 +0000 Commit: Florian Schmaus <flow@gentoo.org> CommitDate: 2023-10-18 12:10:37 +0000 webapp.eclass: optimize webapp_serverowned() and inline webapp_strip_*() Some ebuilds invoke webapp_serverowned() with -R, causing the eclass to iterate over a large set of files. Within the iteration's body the eclass forks multiple times to invoke the webapp_strip, which is very inefficient and causes a huge slowdown. This optimizes webapp_serverowned() by replacing the iteration and call to the "strip" functions with a single equivalent invocation of find to iterates all the files. Furthermore, all remaining invocations of webapp_strip_*() are inlined. Closes: https://bugs.gentoo.org/781860 Signed-off-by: Florian Schmaus <flow@gentoo.org> eclass/webapp.eclass | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) |
> # genlop -t nextcloud > * www-apps/nextcloud > > Fri Apr 9 20:18:33 2021 >>> www-apps/nextcloud-21.0.0 > merge time: 11 minutes and 59 seconds. This packages needs no compilation, nothing. Unpack & move to $D. But it will hang ~11min in src_install due to some QA checks (htop shows "find" command). Can we improve that? ~12min for nothing on Crucial CT525MX3 SSD is a little bit insane. ;)