Comments (11)
I'm more happy you are still kicking about. I never left in the first place. :)
My changes are in https://github.com/negril/paludis/tree/gentoo/build while I was contemplating how to solve #44.
Re the bug. It's likely related to ebuild_safe_source
via loadenv
which takes ~75% of each phase of the ERepository6
tests.
It's also code @Ionic touched see https://github.com/MageSlayer/paludis-gentoo-patches/blob/master/paludis/repositories/e/ebuild/source_functions.bash#L37C11-L122.
from paludis-gentoo-patches.
What branch did you rebase? Because everything in here is quite old and I haven't pushed the accumulated changes (yet).
from paludis-gentoo-patches.
That surprises me, since there weren't any changes to the EAPI=6 tests for years. Then again, it timing out might indicate an endless loop somewhere.
In any case, I started merging a lot of things on January, but then left it due to work and real life. I'll try to continue next week. It doesn't really make sense to debug stuff if so much other changes are currently missing.
from paludis-gentoo-patches.
Offtopic.
Glad you are alive, guys.
I thought I've already lost you :)
from paludis-gentoo-patches.
But the changes in 133e5d9 shouldn't be all that crazy. Maybe spawning sed instead of the old print_exports binary takes longer, but hardly double the time.
I mean, in the end, keeping that in mind as an optimization issue might be interesting, but we generally really need that change, since Gentoo started using associative arrays and the like.
I initially interpreted "timing out" as an issue, like the execution stopping due to a timeout error. This can't be the case, though, since in my build logs, I can see the test taking 465 seconds on my machine (yeah, older and rather slow by today's standards).
Fortunately, this doesn't seem to the case.
from paludis-gentoo-patches.
For the associative array thing I have a very dirty fix for that seems to work. I'll PR that in the next days.
from paludis-gentoo-patches.
I'll try to perf it, during this week. branch master vs. https://gitlab.exherbo.org/paludis/paludis. I've noticed I do have an (unintentional) change there which may explain some of this regression. Switching internal representation of FSPath to std::filesystem::path
. Sorry about raising the alarm, but looked huge 52s vs 92s. Should have been more careful.
from paludis-gentoo-patches.
I do have this change on both versions though.
from paludis-gentoo-patches.
It's likely that it is something bash related.
from paludis-gentoo-patches.
Gonna see just to be sure, but too much overtime today to even attempt - I would mess it up tonight.
from paludis-gentoo-patches.
I can confirm previous findings it is ~48s vs ~91s. Not sure if I will nail down exact issues of this disparency easily, but something can be done for both repos just looking at simple perf report
.
Just noticed that dynamic relocations of locked_pipe_command
are pretty high:
Such simple change cuts execution time of e_repository_TEST_6
for both repos by pretty nice ~4s but making locked_pipe_command
static executable
diff --git a/paludis/repositories/e/ebuild/utils/CMakeLists.txt b/paludis/repositories/e/ebuild/utils/CMakeLists.txt
index bfe61de2a..fdd174bd3 100644
--- a/paludis/repositories/e/ebuild/utils/CMakeLists.txt
+++ b/paludis/repositories/e/ebuild/utils/CMakeLists.txt
@@ -22,6 +22,7 @@ add_executable(print_exports
"${CMAKE_CURRENT_SOURCE_DIR}/print_exports.cc")
add_executable(locked_pipe_command
"${CMAKE_CURRENT_SOURCE_DIR}/locked_pipe_command.cc")
+target_link_libraries(locked_pipe_command PRIVATE -static)
add_executable(strip_tar_corruption
"${CMAKE_CURRENT_SOURCE_DIR}/strip_tar_corruption.cc")
This is not my priority at this moment, but can spend some time and try to see what hurts most. If anyone thinks such work is worthwhile.
from paludis-gentoo-patches.
Related Issues (20)
- unsymlink-lib with paludis based systems HOT 14
- paludis will not build with boost-1.70.0 HOT 6
- new changes to /etc/portage/profile/make.profile break paludis HOT 7
- Command line arg --reinstall-dependents-of is not picked by bash completion
- Change in gentoo tree breaking paludis HOT 20
- symbols={split,compress} breaks media-sound/teamspeak-client HOT 4
- Bash associative arrays (i.e., hashes) break paludis's loadsaveenv HOT 7
- sys-devel/gcc:8.4.0 fails to build with sys-devel/gcc:9.3.0 (other combinations unknown) HOT 4
- genkernel fork to support paludis?
- new llvm.org eclass breaks unpack in paludis on llvm related packages HOT 1
- Phase overrides in recursive inherit calls applied in wrong order HOT 2
- EAPI=8 support HOT 40
- paludis will not build with boost-1.78 HOT 2
- doins -r fails on symbolic links with spaces in file name HOT 1
- Add Ionic as a maintainer? HOT 8
- Reorganizing branches HOT 6
- Wildcard package spec support HOT 4
- Paludis cannot handle /etc/portage/profile/package.use.force been a directory HOT 1
- 2974 steps to decide cave resolve bash HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from paludis-gentoo-patches.