J
Jamis Buck
I know I've been telling people that these wouldn't be available for
a few weeks, yet, but I just couldn't contain my eagerness to put
these out and get some feedback.
SQLite3/Ruby is a pure-Ruby binding to the SQLite3 database. It uses
the DL library to call directly into the SQLite3 library, and thus
needs no compilation. It should run "out-of-the-box", assuming you've
got your sqlite3 library installed in a standardized location.
download: http://rubyforge.org/projects/sqlite-ruby
faq: http://sqlite-ruby.rubyforge.org/sqlite3/faq.html
A few notes on this release:
* This is a VERY EARLY ALPHA RELEASE. It is unstable, and may crash at
any time, taking all your data with it. Do NOT use this for any kind
of production application.
* The independence from C comes at a cost: these bindings are
significantly slower than the same bindings would be, written in C.
I do not have any C bindings for sqlite3 to compare with, but
benchmarks comparing the sqlite2 bindings with these indicated:
- require 'sqlite3' is 24% slower than require 'sqlite'
- creating a new database is 8.35 times slower with sqlite3-ruby
than sqlite-ruby.
- opening an existing database is 6.3 times slower with sqlite3-ruby
than sqlite-ruby.
- inserting data is 1.5 times slower with sqlite3-ruby.
- inserting data via a prepared statement is 1.3 times slower with
sqlite3-ruby.
- queries are 2.9 times slower with sqlite3-ruby.
I've tried to write this in such a way that, eventually, native
C bindings could be written and plugged in, so perhaps down the road
both options will be available.
Anyway, try these out and send me feedback.
Thanks!
- Jamis
a few weeks, yet, but I just couldn't contain my eagerness to put
these out and get some feedback.
SQLite3/Ruby is a pure-Ruby binding to the SQLite3 database. It uses
the DL library to call directly into the SQLite3 library, and thus
needs no compilation. It should run "out-of-the-box", assuming you've
got your sqlite3 library installed in a standardized location.
download: http://rubyforge.org/projects/sqlite-ruby
faq: http://sqlite-ruby.rubyforge.org/sqlite3/faq.html
A few notes on this release:
* This is a VERY EARLY ALPHA RELEASE. It is unstable, and may crash at
any time, taking all your data with it. Do NOT use this for any kind
of production application.
* The independence from C comes at a cost: these bindings are
significantly slower than the same bindings would be, written in C.
I do not have any C bindings for sqlite3 to compare with, but
benchmarks comparing the sqlite2 bindings with these indicated:
- require 'sqlite3' is 24% slower than require 'sqlite'
- creating a new database is 8.35 times slower with sqlite3-ruby
than sqlite-ruby.
- opening an existing database is 6.3 times slower with sqlite3-ruby
than sqlite-ruby.
- inserting data is 1.5 times slower with sqlite3-ruby.
- inserting data via a prepared statement is 1.3 times slower with
sqlite3-ruby.
- queries are 2.9 times slower with sqlite3-ruby.
I've tried to write this in such a way that, eventually, native
C bindings could be written and plugged in, so perhaps down the road
both options will be available.
Anyway, try these out and send me feedback.
Thanks!
- Jamis