Hi,
Roderich Schupp wrote:
On Wed, Aug 5, 2009 at 4:07 PM, Tom Koelman<tkoel...@xs4all.nl> wrote:
I am currently looking into the code to understand where the slowdown
originates exactly, but must admit to having difficulties understanding
what's it's doing exactly at all. Currently I determined that _add_info
gets called a lot and takes a lot of time in total. If time permits I'll
take a more thorough look at it tomorrow.
There's definitely some speed to be gained if _get_preload could
tell its caller: here are some modules to add to the dependencies,
but I just know they don't "use" anything so you don't need to scan them.
Besides DateTime::Locale this could probably used for the Unicode modules.
*nod*
I thought about passing the "skip" hash parameter of scan_deps_static
down to _get_preload, so that a custom preload entry could add stuff
to the "skip" hash. But the keys of the "skip" hash are of no use to
_get_preload's world view: one uses module _names_ , while the
other uses actual file paths.
Yes, that's unfortunate.
However, I think the current Module::ScanDeps is a little buggy, because
strace shows that
scandeps.pl -e "use DateTime::Locale"
scans each DateTime/Locale/*.pm no less than six (6) times and
each .../unicore/lib/**.pl four times.
Wow! I knew it's buggy (there've been a couple of related bug reports,
IIRC), but this is... wow. And ouch.
I'd love to fix this, but I can't. Any volunteers?
Cheers,
Steffen