Looks like jruby + DirectSolrConnection are on top. I'll try to get some
update queries next.
1,000 iterations VS 10,000 iterations
Added Ruby MRI 1.8.6, using open-uri / http
Added jruby using open-uri / http
"Benchmark'" standard lib
solr 1.3
empty index
query = ipod
# jruby + CommonsHttpSolrServer
# user system total real
# 1000 iterations
# 4.335000 0.000000 4.335000 ( 4.334744)
# 4.335000 0.000000 4.335000 ( 4.334730)
# 10000 iterations
# 32.355000 0.000000 32.355000 ( 32.354999)
# 32.303000 0.000000 32.303000 ( 32.302859)
# 32.323000 0.000000 32.323000 ( 32.323368)
# jruby + EmbeddedSolrServer
# user system total real
# 1000 iterations
# 2.268000 0.000000 2.268000 ( 2.267976)
# 2.357000 0.000000 2.357000 ( 2.356588)
# 10000 iterations
# 10.650000 0.000000 10.650000 ( 10.649839)
# 8.099000 0.000000 8.099000 ( 8.099088)
# 8.119000 0.000000 8.119000 ( 8.118807)
# jruby + DirectSolrConnection
# user system total real
# 1000 iterations
# 1.593000 0.000000 1.593000 ( 1.592349)
# 1.595000 0.000000 1.595000 ( 1.594842)
# 10000 iterations
# 10.708000 0.000000 10.708000 ( 10.707790)
# 6.952000 0.000000 6.952000 ( 6.951736)
# 7.939000 0.000000 7.939000 ( 7.939191)
# ruby mri + http / open-uri
# user system total real
# 1000 iterations
# 0.760000 0.310000 1.070000 ( 1.607703)
# 0.730000 0.300000 1.030000 ( 1.619739)
# 0.760000 0.330000 1.090000 ( 1.907517)
# 0.740000 0.300000 1.040000 ( 1.543832)
# 10000 iterations
# 7.300000 2.970000 10.270000 ( 15.452759)
# 7.290000 2.960000 10.250000 ( 15.585011)
# 7.330000 2.980000 10.310000 ( 15.781377)
# jruby + http / open-uri
# user system total real
# 10000 iterations
# 27.583000 0.000000 27.583000 ( 27.582765)
# 25.620000 0.000000 25.620000 ( 25.620403)
# 25.474000 0.000000 25.474000 ( 25.473653)