Re: [PATCH] cvsserver: avoid warning about active db handles
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 25, 2006, 14:53 UTC
- Message-ID
- <Pine.LNX.4.63.0607251649190.29667@wbgn013.biozentrum.uni-wuerzburg.de>
- In-Reply-To
- <44C6099A.5010205@catalyst.net.nz>
Hi,
[sorry for the delay... darn meetings]
On Wed, 26 Jul 2006, Martin Langhoff (CatalystIT) wrote:
Show 8 quoted lines
> Johannes Schindelin wrote: > > > Turns out that DBD::SQLite does not favour preparing statements which > > are never executed. So, turn all 4 statements, which were prepared > > _always_, into methods, like the other 12 prepared statements. > > Can you give me a reference for that "does not favour preparing > statements"?
The relevant bug entry is
http://rt.cpan.org/Public/Bug/Display.html?id=17603
> I have some vague recollection of timing prepared/unprepared inserts and > getting a huge difference in performance.
Yes, preparing before executing is a wonderful thing. But you need to execute the prepared statements; otherwise it is a waste of resources (plus, it does not finalize with DBD::SQLite).
> Looking at the source of SQLite.pm doesn't clarify much -- > prepare_cached is actually implemented by DBI, the driver doesn't need > to implement it.
Yes. The culprit is in prepare().
Show 5 quoted lines
> > Now, the only warning left is the gzip one... > > That's harder. I wonder whether using libgit's XS module we can now get > libgit to give us a gzipped file directly. I guess it only has > performance savings for unpacked repos.
I still have the problem on at least two of my boxes that Git.xs does not load. The next thing after looking into the gzip thing is to rewrite git-mv in C.
Ciao, Dscho