There's gem chocolate in my profiling peanut butter!

D

Daniel Berger

Hi all,

Has anyone written anything that will skip all the gem related code
that occurs on startup when running a profiler over a program? Is it
even possible?

All that extra stuff in the final output makes it harder to read and
generally bugs me.

Regards,

Dan
 
J

Joel VanderWerf

Daniel said:
Hi all,

Has anyone written anything that will skip all the gem related code
that occurs on startup when running a profiler over a program? Is it
even possible?

All that extra stuff in the final output makes it harder to read and
generally bugs me.

An excerpt from the README of ruby-prof:

==================================================
=== ruby-prof API

The second way is to use the ruby-prof API to profile
particular segments of code.

require 'ruby-prof'

# Profile the code
RubyProf.start
...
[code to profile]
...
result = RubyProf.stop

# Print a flat profile to text
printer = RubyProf::TextPrinter.new(result)
printer.print(STDOUT, 0)

Alternatively, you can use a block to tell ruby-prof what
to profile:

require 'ruby-prof'

# Profile the code
result = RubyProf.profile do
...
[code to profile]
...
end

# Print a graph profile to text
printer = RubyProf::GraphPrinter.new(result)
printer.print(STDOUT, 0)
==================================================

If for some reason you want to use profile.rb, it's easy to hack up to
have the same feature (let me know and I'll send it).
 
D

Daniel Berger

Daniel said:
Has anyone written anything that will skip all the gem related code
that occurs on startup when running a profiler over a program? Is it
even possible?
All that extra stuff in the final output makes it harder to read and
generally bugs me.

An excerpt from the README of ruby-prof:

==================================================
=== ruby-prof API

The second way is to use the ruby-prof API to profile
particular segments of code.

require 'ruby-prof'

# Profile the code
RubyProf.start
...
[code to profile]
...
result = RubyProf.stop

# Print a flat profile to text
printer = RubyProf::TextPrinter.new(result)
printer.print(STDOUT, 0)

Alternatively, you can use a block to tell ruby-prof what
to profile:

require 'ruby-prof'

# Profile the code
result = RubyProf.profile do
...
[code to profile]
...
end

# Print a graph profile to text
printer = RubyProf::GraphPrinter.new(result)
printer.print(STDOUT, 0)
==================================================

If for some reason you want to use profile.rb, it's easy to hack up to
have the same feature (let me know and I'll send it).

Oh, excellent Joel, thank you. As for profile.rb, I think it would be
great to send that as a patch to ruby-core. :)

Regards,

Dan
 
E

Eric Hodel

Daniel said:
Hi all,
Has anyone written anything that will skip all the gem related code
that occurs on startup when running a profiler over a program? Is it
even possible?
All that extra stuff in the final output makes it harder to read and
generally bugs me.

An excerpt from the README of ruby-prof:

==================================================
=== ruby-prof API

The second way is to use the ruby-prof API to profile
particular segments of code.

require 'ruby-prof'

# Profile the code
RubyProf.start
...
[code to profile]
...
result = RubyProf.stop

Is RubyProf still being maintained? It has this horribly annoying
bug where it breaks when you return after calling RubyProf.start.
The pure-ruby profile.rb works correctly, Shugo's prof (RubyProf's
ancestor) works correctly, and zenprofile (from ZenHacks) works
correctly.

The bug's been reported at least twice:

http://rubyforge.org/tracker/index.php?
func=detail&aid=5652&group_id=1814&atid=7060

http://rubyforge.org/tracker/index.php?
func=detail&aid=5658&group_id=1814&atid=7060
 
D

Daniel Berger

An excerpt from the README of ruby-prof:
==================================================
=== ruby-prof API
The second way is to use the ruby-prof API to profile
particular segments of code.
require 'ruby-prof'
# Profile the code
RubyProf.start
...
[code to profile]
...
result = RubyProf.stop

Is RubyProf still being maintained? It has this horribly annoying
bug where it breaks when you return after calling RubyProf.start.
The pure-ruby profile.rb works correctly, Shugo's prof (RubyProf's
ancestor) works correctly, and zenprofile (from ZenHacks) works
correctly.

The bug's been reported at least twice:

http://rubyforge.org/tracker/index.php?
func=detail&aid=5652&group_id=1814&atid=7060

http://rubyforge.org/tracker/index.php?
func=detail&aid=5658&group_id=1814&atid=7060

I haven't experienced that myself, and it has been less than a year
since the last release. However, I do see a bunch of bugs in the queue
that haven't been touched, so I dunno.

Shugo, Charlie - you around?

Dan
 
S

Stephen Kellett

In message said:
Hi all,

Has anyone written anything that will skip all the gem related code
that occurs on startup when running a profiler over a program? Is it
even possible?

All that extra stuff in the final output makes it harder to read and
generally bugs me.

Setting that up is trivial with Ruby Performance Validator.

http://www.softwareverify.com/ruby/profiler/index.html

Stephen
--
Stephen Kellett
Object Media Limited http://www.objmedia.demon.co.uk/software.html
Computer Consultancy, Software Development
Windows C++, Java, Assembler, Performance Analysis, Troubleshooting
Reg Office: 24 Windmill Walk, Sutton, Ely, Cambs CB6 2NH.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top