README.markdown in oria-0.0.3 vs README.markdown in oria-0.1.0
- old
+ new
@@ -142,48 +142,36 @@
Which means: **please report any problems you have using the [Github issue tracking](http://github.com/flipsasser/oria/issues)!**
Benchmarks
-
-I've run some benchmarks comparing Oria to Redis. It's not pretty:
+Want to find out how well Oria will perform compared to existing solutions? Here are a few benchmarks.
+Here's Redis and Oria:
+
user system total real
- Redis (write): 0.050000 0.020000 0.070000 ( 0.115850)
- Oria (write): 0.140000 0.110000 0.250000 ( 1.267912)
- Redis (read): 0.070000 0.020000 0.090000 ( 0.145078)
- Oria (read): 0.150000 0.110000 0.260000 ( 1.247791)
+ Redis (write): 0.040000 0.020000 0.060000 ( 0.112147)
+ Oria (write): 0.130000 0.100000 0.230000 ( 0.394356)
+ Redis (read): 0.070000 0.020000 0.090000 ( 0.140881)
+ Oria (read): 0.130000 0.100000 0.230000 ( 0.394533)
-As you can see, Oria is about 10x slower than Redis on my development computer. Even worse, if you run the benchmark like so:
+Obviously, Redis is going to smack Oria down no matter what. Still, it's in a competitive range.
- ruby redis_v_oria.rb 10000
+Here's MySQL and Oria:
-Oria's server will fail to fulfill all of those requests. Scary. Clearly, it needs some serious improvement. Oria will never be
-as performant as something like Redis - it's not meant to be (plus it's written in Ruby, not C). But it could use some reduction
-in overhead, and any help is welcome.
-
-But I knew Oria wouldn't compete with Redis. What about MySQL?
-
user system total real
- MySQL (write): 0.270000 0.030000 0.300000 ( 0.445586)
- Oria (write): 0.170000 0.120000 0.290000 ( 1.676674)
- MySQL (read): 0.310000 0.020000 0.330000 ( 0.484944)
- Oria (read): 0.120000 0.120000 0.240000 ( 1.616851)
+ MySQL (write): 0.260000 0.030000 0.290000 ( 0.423971)
+ Oria (write): 0.140000 0.100000 0.240000 ( 0.406949)
+ MySQL (read): 0.310000 0.020000 0.330000 ( 0.468195)
+ Oria (read): 0.100000 0.100000 0.200000 ( 0.330884)
-Ew. Oria is consistently about 4x slower than MySQL. But check this out: I removed persistence, and here are the new benchmarks:
+Oh snap! Oria outperforms MySQL. How about SQLite3, in memory?
- user system total real
- Redis (write): 0.040000 0.020000 0.060000 ( 0.113882)
- Oria (write): 0.130000 0.100000 0.230000 ( 0.396776)
- Redis (read): 0.070000 0.020000 0.090000 ( 0.145068)
- Oria (read): 0.130000 0.100000 0.230000 ( 0.395410)
+ user system total real
+ SQLite3 (write): 0.360000 0.010000 0.370000 ( 0.376660)
+ Oria (write): 0.100000 0.100000 0.200000 ( 0.368118)
+ SQLite3 (read): 0.370000 0.010000 0.380000 ( 0.379038)
+ Oria (read): 0.150000 0.100000 0.250000 ( 0.406342)
-That's getting competitive. How about MySQL?
-
- user system total real
- MySQL (write): 0.270000 0.030000 0.300000 ( 0.453413)
- Oria (write): 0.150000 0.110000 0.260000 ( 0.430725)
- MySQL (read): 0.320000 0.030000 0.350000 ( 0.484978)
- Oria (read): 0.100000 0.100000 0.200000 ( 0.373431)
-
-Oh snap! Oria outperforms MySQL when persistence is disabled. So I'll have to refactor the code.
+Looks like Oria will write faster but read slower than SQLite3 in-memory.
Copyright (c) 2009 Flip Sasser, released under the MIT license
\ No newline at end of file