Subject: | DBD::SQLite leaks lots of memory |
DBD::SQLite uses *lots* more ram to run the regression tests for my OOPS
module than any of the rest of my backend databases (DBD::SQLite2,
DBD::mysql, DBD::Pg).
How to repeat:
Download OOPS 0.1004 from CPAN.
You'll also need: a recent Data::Compare, Time::HiRes, Test::MultiFork,
Clone::PP.
Open two windows.
In window #1:
The your OOPSTEST_DSN environment variable to:
DBI:SQLite2:dbname=/tmp/sqlite2.$$.db"
In Window #2:
Set your OOPSTEST_DSN environment variable to:
DBI:SQLite:dbname=/tmp/sqlite.$$.db"
In both windows:
Run t/slowtest.t. Use ^S and ^Q to pause them as they
run. Stop both of them when they've said "ok" about 9700
times.
Then run a "ps" command that shows you how much memory is
used by each process.
My results:
RAM on-disk database size
DBD::SQLite 33.7MB 748K
DBD::SQLIte2 13.9MB 1140K
DBD::mysql 13.5MB na
DBD::Pg 15.7MB na
I forget which one, but on one of my regression tests, DBD::SQLite
ballooned up to over 300MB.