TechEmpower/FrameworkBenchmarks — pull request #756 by rjnienaber (2014-01-18 23:51:54+00:00)
Title: Implemented web server tests for the Grape micro-API framework

I've implemented the benchmarks using the [Grape Api](http://intridea.github.io/grape/). It's an opinionated micro-framework for creating REST-like APIs in Ruby. One thing that I would like to bring attention to is the implementation of the 'Database updates' benchmark. I'm using the [activerecord-import](https://github.com/zdennis/activerecord-import) gem to allow batch importing of records. As an example, if the url '/updates?queries=3' is hit, this is the following SQL that is generated:

```sql
SELECT `World`.* FROM `World` WHERE `World`.`id` = 6757 LIMIT 1
SELECT `World`.* FROM `World` WHERE `World`.`id` = 2461 LIMIT 1
SELECT `World`.* FROM `World` WHERE `World`.`id` = 5770 LIMIT 1
INSERT INTO `World` (`id`,`randomNumber`) VALUES (6757,4215),(2461,1420),(5770,2703) ON DUPLICATE KEY UPDATE `World`.`randomNumber`=VALUES(`randomNumber`)
```

At point 9 of the [source code and requirements](http://www.techempower.com/benchmarks/#section=code&hw=i7&test=json) it states: 'Use of batch updates is acceptable but not required.'. I think this is in the spirit of the benchmark but I just wanted to make sure.