- Asynchronous query processing support
- Threaded access support
Thanks to help from Roger Pack and Aman Gupta we were able to put the thing together that you can use and test right now (on Ruby1.8 and 1.9)
To install it please do:
sudo gem install espace-mysqlplus
Then you can use it in your code as follows:
mysql = Mysql.real_connect(..)
The test folder of the gem contains examples for threaded and evented implementations.
The announcement page in NeverBlock shows benchmark results for running the sleeping queries in normal(blocking), evented and threaded modes. The normal mode is 10X slower, which is normal due to its inability to run queries in parallel.
Now that Rails is becoming so-so-thread-safe this should show tremendous gains with Rails deployments that use MySQL (PostgreSQL already has such facilities).