Skip to content
Drew Prentice edited this page Jul 30, 2014 · 2 revisions

#Defaults

###HTTPI

From httpirb.com:

When you’re executing any HTTP request for the first time without having specified an adapter to use, HTTPI tries to load and use the "best" library for you. It follows a specific load order with Net::HTTP at the end of the chain:

[:httpclient, :curb, :em _ http, :excon, :net _ http, :net _ http _ persistent]

See below for my "best" defaults.

###MultiJSON

From github.com/intridea/multi_json:

MultiJSON tries to have intelligent defaulting. That is, if you have any of the supported engines already loaded, it will utilize them before attempting to load any. When loading, libraries are ordered by speed. First Oj, then Yajl, then the JSON gem, then JSON pure. If no other JSON library is available, MultiJSON falls back to OkJson, a simple, vendorable JSON parser.

###MultiXML

From github.com/savonrb/multi_xml:

MultiXML tries to have intelligent defaulting. That is, if you have any of the supported parsers already loaded, it will utilize them before attempting to load any. When loading, libraries are ordered by speed: first Ox, then LibXML, then Nokogiri, and finally REXML.

See below for my "best" defaults.

###lyracyst

I wrote 3 benchmarks while creating lyracyst, benchmarks for HTTPI, MultiJSON, and MultiXML. As I did not get the results I expected, and I am new to benchmarking, I think more experimentation is warranted. I encourage you to do the same. Use the YAML config file in ~/.lyracyst.yml to override defaults to your liking.

Clone this wiki locally