Hi,
Some parts of benchmark ask for ORM version or if you decided not use it, you must have explicit it by adding a raw in front of it. I decided to keep both approaches in the same test, just for simplicity, but when I include the ORM version (ActiveRecord) I realized the general performance was compromised.
Time taken for tests: 3.214 seconds
Total transferred: 104208 bytes
HTML transferred: 11022 bytes
Requests per second: 311.18 [#/sec] (mean)
Time per request: 32.136 [ms] (mean)
Time per request: 3.214 [ms] (mean, across all concurrent requests)
Transfer rate: 31.67 [Kbytes/sec] received
When I uncomment the second line, I mean, when I just include the ActiveRecord gem, I get the following results:
Concurrency Level: 10
Time taken for tests: 6.300 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 104312 bytes
HTML transferred: 11033 bytes
Requests per second: 158.74 [#/sec] (mean)
Time per request: 62.996 [ms] (mean)
Time per request: 6.300 [ms] (mean, across all concurrent requests)
Transfer rate: 16.17 [Kbytes/sec] received
I couldn't understand what is going on. I start to read the AR code, but it is not an easy task and will take some time.
Does anyone have a clue what is happening?
I ran the benchmarks with Ruby 2.0.0/ Goliath 1.0.3 on a macbook pro.
Regards,
Thiago