Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

profile installman and improve its performance #12725

Open
p5pRT opened this issue Jan 21, 2013 · 5 comments
Open

profile installman and improve its performance #12725

p5pRT opened this issue Jan 21, 2013 · 5 comments

Comments

@p5pRT
Copy link

p5pRT commented Jan 21, 2013

Migrated from rt.perl.org#116485 (status was 'open')

Searchable as RT116485$

@p5pRT
Copy link
Author

p5pRT commented Jan 21, 2013

From @rjbs

The `installman` script is slow. All it is doing text processing, which we're
told is something Perl is good at. So it would be nice to know what it is doing
that is taking so much CPU, and where possible address it.

@p5pRT
Copy link
Author

p5pRT commented Jan 23, 2013

From bobjkuo@gmail.com

On Mon Jan 21 08​:18​:06 2013, rjbs wrote​:

The `installman` script is slow. All it is doing text processing,
which we're
told is something Perl is good at. So it would be nice to know what it
is doing
that is taking so much CPU, and where possible address it.

Hi,

I'd like to try to tackle this ticket. Here's my plan of attack​:

1) Build perl5 from git source
2) Run installman with --man1dir=/dev/null --man3dir=/dev/null and take the timing
3) Run installman under NYTProf
4) ???
5) Profit!!!

But seriously, I can take some timings and do a bit of profiling to see where our bottleneck is.
Does that sound like a good plan?

Thanks,

Bob

@p5pRT
Copy link
Author

p5pRT commented Jan 23, 2013

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Jan 24, 2013

From @rjbs

* Bob Kuo via RT <perlbug-followup@​perl.org> [2013-01-23T08​:49​:11]

1) Build perl5 from git source
2) Run installman with --man1dir=/dev/null --man3dir=/dev/null and take the timing
3) Run installman under NYTProf
4) ???
5) Profit!!!

But seriously, I can take some timings and do a bit of profiling to see where
our bottleneck is.
Does that sound like a good plan?

Yes, but you'll want to talk to http​://search.cpan.org/~ilmari/

He's been doing some work on this already and made some improvements. At least
you'll want to make sure you start from his work, so you don't end up
duplicating it!

--
rjbs

@p5pRT
Copy link
Author

p5pRT commented Jan 24, 2013

From @ilmari

Ricardo Signes <perl.p5p@​rjbs.manxome.org> writes​:

* Bob Kuo via RT <perlbug-followup@​perl.org> [2013-01-23T08​:49​:11]

1) Build perl5 from git source
2) Run installman with --man1dir=/dev/null --man3dir=/dev/null and take the timing
3) Run installman under NYTProf
4) ???
5) Profit!!!

But seriously, I can take some timings and do a bit of profiling to see where
our bottleneck is.
Does that sound like a good plan?

Yes, but you'll want to talk to http​://search.cpan.org/~ilmari/

He's been doing some work on this already and made some improvements. At least
you'll want to make sure you start from his work, so you don't end up
duplicating it!

My changes so far are here​:

https://github.com/ilmari/pod-simple/commits/speedup-parse
https://github.com/ilmari/podlators/commits/speedup-pod-man

These only speed up installman by about 10%, though (under NYTProf).

--
"The surreality of the universe tends towards a maximum" -- Skud's Law
"Never formulate a law or axiom that you're not prepared to live with
the consequences of." -- Skud's Meta-Law

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants