in reply to Threads and DBD::SQLite?
How can I turn on the SQLite "Shared-Cache Mode" from DBI or DBD?
Use a connect string of the form 'dbi:SQLite:dbname=file:memdb2?mode=memory&cache=shared'.
Does it work as expected, if I fork off a thread, which opens SQLite shared memory? (Have anyone done this craziness with Perl before?)
What are you expecting?
(Kinda, but there are some issues. At least on windows.)
For a start, retrieving a given number of records from a single thread&connection is nearly 2 orders of magnitude quicker than retrieving those same records via a connection made via a single connection in a separate thread.
Running multiple clients in 2 separate threads cuts the time almost in half; and with 4 almost by 4; but it is still much faster to use a single thread/connection.
This is true despite having deployed every speed-up pragma and option I can find.
What is the recommended tcp/ip server module on CPAN for threaded programs?
Personally, I don't use a module for tcp servers.
Writing a threaded server that does what I need is pretty simple. Making someone else's implementation (if you can find one) do what I need it to do is always harder.
A few questions: What OS are you targeting? What does your data (schema) look like? What do your queries look like?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Threads and DBD::SQLite?
by BerntB (Deacon) on Dec 15, 2013 at 16:15 UTC | |
by BrowserUk (Patriarch) on Dec 15, 2013 at 16:53 UTC | |
by erix (Prior) on Dec 16, 2013 at 00:39 UTC | |
by BrowserUk (Patriarch) on Dec 16, 2013 at 10:50 UTC | |
by erix (Prior) on Dec 16, 2013 at 23:41 UTC | |
| |
by BerntB (Deacon) on Dec 17, 2013 at 02:35 UTC |