https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36350
--- Comment #65 from Jonathan Druart <[email protected]> --- 1. diff --git a/Koha/ILL/Requests.pm b/Koha/ILL/Requests.pm -use base qw(Koha::Objects::Mixin::ExtendedAttributes Koha::Objects); +use base qw(Koha::Objects); This does not seem correct. 2. diff --git a/Koha/Object.pm b/Koha/Object.pm @@ -1017,6 +1017,9 @@ sub AUTOLOAD { my $accessor = sub { my $self = shift; if (@_) { + if ($self->isa("Koha::Object::CachedExpiration")) { + $self->_objects_cache_expire(); diff --git a/Koha/Object/CachedExpiration.pm b/Koha/Object/CachedExpiration.pm +sub _objects_cache_expire { + my ($self) = @_; + if ($self->_result->in_storage) { + my @primary_keys = $self->_result->id; + my $ids_cache_key = $self->_objects_cache_cache_key('find', @primary_keys); + $self->_objects_cache_clear($ids_cache_key); + } +} Isn't it going to add one fetch for each insert/update statement? 3. _objects_cache_expire is unnecessary called when we store a new object (not blocker) 4. very quick benchmark to give an idea: ``` use Benchmark qw(:all); my $count = 10000; my $t = timeit($count, sub { my $l = Koha::Library->new({branchcode => 'foo', branchname => 'foo'})->store; $l->branchname('bar')->store; $l->delete; }); say timestr($t); ``` with the patches: 139 wallclock secs (59.03 usr + 5.42 sys = 64.45 CPU) @ 155.16/s (n=10000) without the patches: 133 wallclock secs (54.21 usr + 5.13 sys = 59.34 CPU) @ 168.52/s (n=10000) ``` use Benchmark qw(:all); my $count = 10000; my $i; my $t = timeit($count, sub { my $id = "foo" . $i++; my $l = Koha::Library->new({branchcode => $id, branchname => $id})->store; $l->branchname('bar')->store; }); ``` with the patches: 100 wallclock secs (45.76 usr + 4.15 sys = 49.91 CPU) @ 200.36/s (n=10000) without the patches: 98 wallclock secs (44.62 usr + 3.95 sys = 48.57 CPU) @ 205.89/s (n=10000) say timestr($t); => it's going to be slightly slower for inserts in bulk. -- You are receiving this mail because: You are watching all bug changes. _______________________________________________ Koha-bugs mailing list [email protected] https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/
