doc/index.html in ruby-prof-0.13.1 vs doc/index.html in ruby-prof-0.14.0

- old
+ new

@@ -1,72 +1,87 @@ <!DOCTYPE html> <html> <head> -<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> +<meta charset="UTF-8"> <title>ruby-prof</title> -<link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet"> +<link href="./fonts.css" rel="stylesheet"> +<link href="./rdoc.css" rel="stylesheet"> <script type="text/javascript"> var rdoc_rel_prefix = "./"; </script> -<script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script> -<script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script> -<script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script> -<script type="text/javascript" charset="utf-8" src="./js/search.js"></script> -<script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script> -<script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script> +<script src="./js/jquery.js"></script> +<script src="./js/navigation.js"></script> +<script src="./js/search_index.js"></script> +<script src="./js/search.js"></script> +<script src="./js/searcher.js"></script> +<script src="./js/darkfish.js"></script> -<body> -<nav id="metadata"> - <nav id="home-section" class="section"> - <h3 class="section-header"> - <a href="./index.html">Home</a> +<body id="top" role="document" class="file"> +<nav role="navigation"> + <div id="project-navigation"> + <div id="home-section" role="region" title="Quick navigation" class="nav-section"> + <h2> + <a href="./index.html" rel="home">Home</a> + </h2> + + <div id="table-of-contents-navigation"> + <a href="./table_of_contents.html#pages">Pages</a> <a href="./table_of_contents.html#classes">Classes</a> <a href="./table_of_contents.html#methods">Methods</a> - </h3> -</nav> + </div> +</div> - <nav id="search-section" class="section project-section" class="initially-hidden"> + <div id="search-section" role="search" class="project-section initially-hidden"> <form action="#" method="get" accept-charset="utf-8"> - <h3 class="section-header"> - <input type="text" name="search" placeholder="Search" id="search-field" + <div id="search-field-wrapper"> + <input id="search-field" role="combobox" aria-label="Search" + aria-autocomplete="list" aria-controls="search-results" + type="text" name="search" placeholder="Search" spellcheck="false" title="Type to search, Up and Down to navigate, Enter to load"> - </h3> + </div> + + <ul id="search-results" aria-label="Search Results" + aria-busy="false" aria-expanded="false" + aria-atomic="false" class="initially-hidden"></ul> </form> +</div> - <ul id="search-results" class="initially-hidden"></ul> -</nav> + </div> - <div id="project-metadata"> - <nav id="fileindex-section" class="section project-section"> - <h3 class="section-header">Pages</h3> + <div id="fileindex-section" class="nav-section"> + <h3>Pages</h3> - <ul> + <ul class="link-list"> - <li class="file"><a href="./LICENSE.html">LICENSE</a> + <li><a href="./LICENSE.html">LICENSE</a> - <li class="file"><a href="./README_rdoc.html">README</a> + <li><a href="./README_rdoc.html">README</a> - <li class="file"><a href="./examples/flat_txt.html">flat</a> + <li><a href="./examples/flat_txt.html">flat</a> - <li class="file"><a href="./examples/graph_txt.html">graph</a> + <li><a href="./examples/graph_html.html">graph.html</a> + <li><a href="./examples/graph_txt.html">graph</a> + </ul> -</nav> +</div> - <nav id="classindex-section" class="section project-section"> - <h3 class="section-header">Class and Module Index</h3> + <div id="classindex-section" class="nav-section"> + <h3>Class and Module Index</h3> <ul class="link-list"> + <li><a href="./Rack/RubyProf.html">Rack::RubyProf</a> + <li><a href="./RubyProf.html">RubyProf</a> <li><a href="./RubyProf/AbstractPrinter.html">RubyProf::AbstractPrinter</a> <li><a href="./RubyProf/AggregateCallInfo.html">RubyProf::AggregateCallInfo</a> @@ -99,33 +114,28 @@ <li><a href="./RubyProf/Profile.html">RubyProf::Profile</a> <li><a href="./RubyProf/ProfileTask.html">RubyProf::ProfileTask</a> - <li><a href="./RubyProf/Test.html">RubyProf::Test</a> - <li><a href="./RubyProf/Thread.html">RubyProf::Thread</a> - <li><a href="./Rack.html">Rack</a> - - <li><a href="./Rack/RubyProf.html">Rack::RubyProf</a> - </ul> -</nav> +</div> </div> </nav> -<div id="documentation" class="description"> - -<h1 id="label-ruby-prof">ruby-prof</h1> +<main role="main"> + +<h1 id="label-ruby-prof">ruby-prof<span><a href="#label-ruby-prof">&para;</a> <a href="#documentation">&uarr;</a></span></h1> + <p><a href="https://travis-ci.org/ruby-prof/ruby-prof"><img src="https://travis-ci.org/ruby-prof/ruby-prof.png?branch=master" alt="Build Status" /></a></p> -<h2 id="label-Overview">Overview</h2> +<h2 id="label-Overview">Overview<span><a href="#label-Overview">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>ruby-prof is a fast code profiler for Ruby. Its features include:</p> <ul><li> <p>Speed - it is a C extension and therefore many times faster than the standard Ruby profiler.</p> @@ -149,41 +159,41 @@ </li></ul> </li><li> <p>Threads - supports profiling multiple threads simultaneously</p> </li></ul> -<h2 id="label-Requirements">Requirements</h2> +<h2 id="label-Requirements">Requirements<span><a href="#label-Requirements">&para;</a> <a href="#documentation">&uarr;</a></span></h2> -<p>ruby-prof requires Ruby 1.8.7 or 1.9.2 and higher.</p> +<p>ruby-prof requires Ruby 1.9.3 or higher.</p> <p>If you are running Linux or Unix you&#39;ll need a C compiler so the extension can be compiled when it is installed.</p> <p>If you are running Windows, then you may need to install the Windows specific RubyGem which includes an already built extension (see Install section).</p> -<h2 id="label-Install">Install</h2> +<h2 id="label-Install">Install<span><a href="#label-Install">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>The easiest way to install ruby-prof is by using Ruby Gems. To install:</p> <pre>gem install ruby-prof</pre> <p>If you&#39;re on windows then a prebuilt binary gem is available. You may of course compile it yourself via use of devkit on MinGW.</p> -<h2 id="label-Usage">Usage</h2> +<h2 id="label-Usage">Usage<span><a href="#label-Usage">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>There are two ways of running ruby-prof, via the command line or via its API.</p> -<h3 id="label-ruby-prof+executable">ruby-prof executable</h3> +<h3 id="label-ruby-prof+executable">ruby-prof executable<span><a href="#label-ruby-prof+executable">&para;</a> <a href="#documentation">&uarr;</a></span></h3> <p>The first is to use ruby-prof to run the Ruby program you want to profile. For more information refer to the documentation of the ruby-prof command.</p> -<h3 id="label-ruby-prof+API">ruby-prof API</h3> +<h3 id="label-ruby-prof+API">ruby-prof API<span><a href="#label-ruby-prof+API">&para;</a> <a href="#documentation">&uarr;</a></span></h3> <p>The second way is to use the ruby-prof API to profile particular segments of code.</p> <pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">&#39;ruby-prof&#39;</span> @@ -244,11 +254,11 @@ </pre> <p>With this usage, resume will automatically call pause at the end of the block.</p> -<h2 id="label-Method+and+Thread+Elimination">Method and Thread Elimination</h2> +<h2 id="label-Method+and+Thread+Elimination">Method and Thread Elimination<span><a href="#label-Method+and+Thread+Elimination">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>ruby-prof supports eliminating specific methods and threads from profiling results. This is useful for reducing connectivity in the call graph, making it easier to identify the source of performance problems when using a graph printer.</p> @@ -279,11 +289,11 @@ RubyProf.start</pre> <p>Note that the excluded threads must be specified <strong>before</strong> profiling.</p> -<h2 id="label-Benchmarking+full+load+time+including+rubygems+startup+cost+%3D%3D">Benchmarking full load time including rubygems startup cost ==</h2> +<h2 id="label-Benchmarking+full+load+time+including+rubygems+startup+cost+%3D%3D">Benchmarking full load time including rubygems startup cost ==<span><a href="#label-Benchmarking+full+load+time+including+rubygems+startup+cost+%3D%3D">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>If you want to get a more accurate measurement of what takes all of a gem&#39;s bin/xxx command to load, you may want to also measure rubygems&#39; startup penalty. You can do this by calling into bin/ruby-prof directly, ex:</p> @@ -300,11 +310,11 @@ <p>or</p> <p>$ ruby g:/192/lib/ruby/gems/1.9.1/gems/ruby-prof-0.10.2/bin/ruby-prof ./some_file_that_does_a_require_rubygems_at_the_beginning.rb</p> -<h2 id="label-Profiling+Tests">Profiling Tests</h2> +<h2 id="label-Profiling+Tests">Profiling Tests<span><a href="#label-Profiling+Tests">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>ruby-prof supports profiling tests cases written using Ruby&#39;s built-in unit test framework (ie, test derived from Test::Unit::TestCase). To enable profiling simply add the following line of code to within your test class:</p> @@ -320,11 +330,11 @@ the test process&#39;s working directory. To change this, or other profiling options, modify your test class&#39;s PROFILE_OPTIONS hash table. To globally change test profiling options, modify RubyProf::Test::PROFILE_OPTIONS.</p> -<h2 id="label-Profiling+Rails">Profiling Rails</h2> +<h2 id="label-Profiling+Rails">Profiling Rails<span><a href="#label-Profiling+Rails">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>To profile a Rails application it is vital to run it using production like settings (cache classes, cache view lookups, etc.). Otherwise, Rail&#39;s dependency loading code will overwhelm any time spent in the application itself (our tests show that Rails dependency loading causes a roughly 6x @@ -358,11 +368,11 @@ <p>Now make a request to your running server. New profiling information will be generated for each request. Note that each request will overwrite the profiling reports created by the previous request!</p> </li></ol> -<h2 id="label-Reports">Reports</h2> +<h2 id="label-Reports">Reports<span><a href="#label-Reports">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>ruby-prof can generate a number of different reports:</p> <ul><li> <p>Flat Reports</p> </li><li> @@ -414,11 +424,11 @@ reports in one profiling run. See <a href="http://github.com/ruby-prof/ruby-prof/tree/master/examples/multi.stack.html">examples/multi.stack.html</a>.</p> <p>There is also a graphviz .dot visualiser.</p> -<h2 id="label-Printers">Printers</h2> +<h2 id="label-Printers">Printers<span><a href="#label-Printers">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>Reports are created by printers. Supported printers include:</p> <ul><li> <p><a href="RubyProf/FlatPrinter.html">RubyProf::FlatPrinter</a> - Creates a flat report in text format</p> @@ -471,11 +481,11 @@ <pre class="ruby"><span class="ruby-identifier">printer</span> = <span class="ruby-constant">RubyProf</span><span class="ruby-operator">::</span><span class="ruby-constant">MultiPrinter</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">result</span>) <span class="ruby-identifier">printer</span>.<span class="ruby-identifier">print</span>(:<span class="ruby-identifier">path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;.&quot;</span>, :<span class="ruby-identifier">profile</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;profile&quot;</span>) </pre> -<h2 id="label-Measurements">Measurements</h2> +<h2 id="label-Measurements">Measurements<span><a href="#label-Measurements">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>Depending on the mode and platform, ruby-prof can measure various aspects of a Ruby program. Supported measurements include:</p> <ul><li> <p>process time (RubyProf::PROCESS_TIME)</p> @@ -602,46 +612,46 @@ <p>You can also directly set the cpu frequency by calling:</p> <pre>RubyProf.cpu_frequency = &lt;value&gt;</pre> -<h2 id="label-Multi-threaded+Applications">Multi-threaded Applications</h2> +<h2 id="label-Multi-threaded+Applications">Multi-threaded Applications<span><a href="#label-Multi-threaded+Applications">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>Unfortunately, Ruby does not provide an internal api for detecting thread context switches in 1.8. As a result, the timings ruby-prof reports for each thread may be slightly inaccurate. In particular, this will happen for newly spawned threads that go to sleep immediately (their first call). For instance, if you use Ruby&#39;s timeout library to wait for 2 seconds, the 2 seconds will be assigned to the foreground thread and not the newly created background thread. These errors can largely be avoided if the background thread performs any operation before going to sleep.</p> -<h2 id="label-Performance">Performance</h2> +<h2 id="label-Performance">Performance<span><a href="#label-Performance">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>Significant effort has been put into reducing ruby-prof&#39;s overhead as much as possible. Our tests show that the overhead associated with profiling code varies considerably with the code being profiled. Most programs will run approximately twice as slow while highly recursive programs (like the fibonacci series test) will run three times slower.</p> -<h2 id="label-License">License</h2> +<h2 id="label-License">License<span><a href="#label-License">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>See <a href="LICENSE.html">LICENSE</a> for license information.</p> -<h2 id="label-Development">Development</h2> +<h2 id="label-Development">Development<span><a href="#label-Development">&para;</a> <a href="#documentation">&uarr;</a></span></h2> <p>Code is located at <a href="https://github.com/ruby-prof/ruby-prof">github.com/ruby-prof/ruby-prof</a></p> <p>Google group/mailing list: <a href="http://groups.google.com/group/ruby-optimization">groups.google.com/group/ruby-optimization</a> or start a github issue.</p> +</main> -</div> -<footer id="validator-badges"> - <p><a href="http://validator.w3.org/check/referer">[Validate]</a> - <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.1. - <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3. +<footer id="validator-badges" role="contentinfo"> + <p><a href="http://validator.w3.org/check/referer">Validate</a> + <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0. + <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. </footer>