Right now, ->dbh calls are actually quite expensive (they involve DB connection health checks, each and every time). Some speed-sensitive subroutines inside C4/Biblio.pm (GetMarcStructure, GetAuthorisedValueDesc) have this statement my $dbh = C4::Context->dbh; on top of the code, but they don't always/don't usually need DB handle - not at that stage at least. This trivial patch eliminates unneeded ->dbh calls in those subroutines. With it, average GetMarcStructure() running time goes down from 14 miliseconds to 9 miliseconds (on top of Bug 16166), it also makes catalogue search profiling a bit easier.
Created attachment 49677 [details] [review] Bug 16168: Eliminate unneeded C4::Context->dbh calls in C4/Biblio.pm Right now, ->dbh calls are actually quite expensive (they involve DB connection health checks, each and every time). Some speed-sensitive subroutines inside C4/Biblio.pm (GetMarcStructure, GetAuthorisedValueDesc) have this statement my $dbh = C4::Context->dbh; on top of the code, but they don't always/don't usually need DB handle - not at that stage at least. This trivial patch eliminates unneeded ->dbh calls in those subroutines. With it, average GetMarcStructure() running time goes down from 14 miliseconds to 9 miliseconds (on top of Bug 16166), it also makes catalogue search profiling a bit easier. Test plan: 1) apply patch 2) ensure that catalogue searches are still working 3) run t/*Biblio* tests
Created attachment 49679 [details] [review] Bug 16168: Eliminate unneeded C4::Context->dbh calls in C4/Biblio.pm Right now, ->dbh calls are actually quite expensive (they involve DB connection health checks, each and every time). Some speed-sensitive subroutines inside C4/Biblio.pm (GetMarcStructure, GetAuthorisedValueDesc) have this statement my $dbh = C4::Context->dbh; on top of the code, but they don't always/don't usually need DB handle - not at that stage at least. This trivial patch eliminates unneeded ->dbh calls in those subroutines. With it, average GetMarcStructure() running time goes down from 14 miliseconds to 9 miliseconds (on top of Bug 16166), it also makes catalogue search profiling a bit easier. Test plan: 1) apply patch 2) ensure that catalogue searches are still working 3) run t/*Biblio* tests Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Comment on attachment 49679 [details] [review] Bug 16168: Eliminate unneeded C4::Context->dbh calls in C4/Biblio.pm Review of attachment 49679 [details] [review]: ----------------------------------------------------------------- ::: C4/Biblio.pm @@ +2618,4 @@ > > sub TransformMarcToKoha { > my ( $dbh, $record, $frameworkcode, $limit_table ) = @_; > + ## FIXME: $dbh parameter is never used inside this subroutine ??? Do you plan to work on it? Otherwise I will provide a patch.
(In reply to Jonathan Druart from comment #3) > Comment on attachment 49679 [details] [review] [review] > Bug 16168: Eliminate unneeded C4::Context->dbh calls in C4/Biblio.pm > > Review of attachment 49679 [details] [review] [review]: > ----------------------------------------------------------------- > > ::: C4/Biblio.pm > @@ +2618,4 @@ > > > > sub TransformMarcToKoha { > > my ( $dbh, $record, $frameworkcode, $limit_table ) = @_; > > + ## FIXME: $dbh parameter is never used inside this subroutine ??? Done on bug 16169.
(In reply to Jonathan Druart from comment #3) > Comment on attachment 49679 [details] [review] [review] > Bug 16168: Eliminate unneeded C4::Context->dbh calls in C4/Biblio.pm > > Review of attachment 49679 [details] [review] [review]: > ----------------------------------------------------------------- > > ::: C4/Biblio.pm > @@ +2618,4 @@ > > > > sub TransformMarcToKoha { > > my ( $dbh, $record, $frameworkcode, $limit_table ) = @_; > > + ## FIXME: $dbh parameter is never used inside this subroutine ??? > > Do you plan to work on it? Nah, too many changes in too many places ;)
Created attachment 49828 [details] [review] [PASSED QA] Bug 16168: Eliminate unneeded C4::Context->dbh calls in C4/Biblio.pm Right now, ->dbh calls are actually quite expensive (they involve DB connection health checks, each and every time). Some speed-sensitive subroutines inside C4/Biblio.pm (GetMarcStructure, GetAuthorisedValueDesc) have this statement my $dbh = C4::Context->dbh; on top of the code, but they don't always/don't usually need DB handle - not at that stage at least. This trivial patch eliminates unneeded ->dbh calls in those subroutines. With it, average GetMarcStructure() running time goes down from 14 miliseconds to 9 miliseconds (on top of Bug 16166), it also makes catalogue search profiling a bit easier. Test plan: 1) apply patch 2) ensure that catalogue searches are still working 3) run t/*Biblio* tests Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Pushed to Master - Should be in the May 2016 release. Thanks!