From: Dominic Sisneros Date: 2006-11-14T02:13:00+09:00 Subject: Re: [ANN] FastRI 0.1.0: faster, smarter RI docs for Ruby, DRb-enabled ------=_Part_85065_13772416.1163437975372 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline How do you get it to index ruby gems? thanks, dom On 11/8/06, Mauricio Fernandez wrote: > > FastRI 0.1.0: faster, smarter RI docs for Ruby, DRb-enabled > > FastRI can be installed with RubyGems: > gem install fastri > (if you get an old version/a 404 error, please allow some time after the > release until the package propagates to the RubyForge mirrors). Please > read > below for an important note regarding the RubyGems packages. > > Additional information, tarballs... at > http://eigenclass.org/hiki.rb?fastri > > Overview > ======== > FastRI is an alternative to the ri command-line tool. It is *much* faster, > and > also allows you to offer RI lookup services over DRb. FastRI is smarter > than > ri, and can find classes anywhere in the hierarchy without specifying the > "full path". It also knows about gems, and can tell you e.g. which > extensions > to a core class were added by a specific gem. > > Usage > ===== > There are two parts to FastRI: > * the server: fastri-server > * the client: fri > > FastRI uses a Rinda Ring to allow servers to be discovered automatically > without needing to indicate the DRb URIs manually. It can work across > machines if you make sure the ring server is bound to the correct > interface, > and the ACL permissions are correct. > > Examples > ======== > $ fastri-server (creates the index on the first run, blocks) > > Later, > $ fri Array#fetch > > Speed > ===== > fri is much faster than ri; here are some times measured with a cold > cache: > > $ time fri -f plain Array#fetch > ------------------------------------------------------------ Array#fetch > array.fetch(index) -> obj > [...] > real 0m0.287s (real 0m0.127s with a hot cache) > user 0m0.048s > sys 0m0.008s > > Compare to: > $ time ri -T -f plain Array#fetch > ------------------------------------------------------------ Array#fetch > [...] > real 0m10.136s (real ~ 1.5s with a hot cache) > user 0m1.140s > sys 0m0.464s > > Smart searches > ============== > This illustrates FastRI's ability to locate classes deep in the class > hierarchy: > > $ fri Base > ------------------------------------------------------ Multiple choices: > > ActionMailer::Base, ActionView::Base, ActionWebService::API::Base, > ActionWebService::Base, ActionWebService::Client::Base, > ActiveRecord::Base, MapReduce::ActiveRecord::Base, > RSS::Maker::Base, Scruffy::Components::Base, > Scruffy::Formatters::Base, Scruffy::Layers::Base, > Scruffy::Renderers::Base, Scruffy::Themes::Base > > $ fri Themes::Base > ------------------------------------------- Class: Scruffy::Themes::Base > Scruffy::Themes::Base > Author: Brasten Sager > > Date: August 14th, 2006 > > Compare to > $ ri Themes::Base .... several seconds later ... > Nothing known about Themes::Base > > A note about RubyGems + FastRI > ============================== > RubyGems adds a noticeable overhead to fri, making it run slower than if > you > installed it directly from the tarball with setup.rb. > > Compare the execution time when installed with RubyGems: > $ time fri -f plain String > /dev/null > > real 0m0.385s > user 0m0.244s > sys 0m0.036s > > to the time fri actually takes to run, without the overhead introduced by > RubyGems: > $ time ruby bin/fri -f plain String > /dev/null > > real 0m0.088s > user 0m0.040s > sys 0m0.008s > > If you care about those extra 300ms (and there are situations where they > will > matter, e.g. when using fri for method completion), get FastRI from the > tarballs. > > Thanks > ====== > rubikitch > --------- > * command-line options to load/build the index > * testing and suggestions > > Kristof Bastiaensen > ------------------- > For showing the way with ri-emacs.rb. > > License > ======= > FastRI is licensed under the same terms as Ruby. See LICENSE. > > Feedback > ======== > Bug reports, patches, comments... are appreciated. > You can contact the author via . Please add "fastri" to the > subject in order to bypass the spam filters. > > > -- > Mauricio Fernandez - http://eigenclass.org - singular Ruby > > ------=_Part_85065_13772416.1163437975372--