You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the current HEAD of master I experience a HUGE drop in performance.
While it normally (last few weeks) took ~30 seconds to download/upload all my 500 vCards. With the current HEAD of master/ branch (commit 22c4512) it now takes like 7 times as long (3:30 minutes) to perform the same task.
I did a git bisect start on commit 729ed75 and then walked through 3 to 4 commits. It boils down to this commit: 30fab4f (commit comment "Fix contacts download empty") - this is the first commit that inceases running time by factor 7.
I did look into the code and the suspicious line for me is this one:
The old code behaved like a Singleton and recycled the client object:
if (!$this->client) {
$this->client = new Client($this->getClientOptions());
}
return $this->client;
The new code creates a new Client object for every vCard we want to download. Seems this is a "costly" operation. I'm insecure if we can just roll back the few lines of "getClient", because I don't completely understand the "mergeOptions" part...
So, no PR from me here... @andig can you take over with the analysis above?
The text was updated successfully, but these errors were encountered:
Reason is as you‘ve found the removed cache. Had to do this as it was not obvious that a cached client didn‘t get updated client options. I‘ll readd the cache wirh a twist. Still funny that performance drops so badly as I couldn‘t find anything regarding keep alive or connection reuse in the guzzle docs.
I'll keep this open as I have another PR in the pipe that implements actual caching of the contacts data. Again, I don't see any difference but it might work for @derwok
With the current HEAD of master I experience a HUGE drop in performance.
While it normally (last few weeks) took ~30 seconds to download/upload all my 500 vCards. With the current HEAD of master/ branch (commit 22c4512) it now takes like 7 times as long (3:30 minutes) to perform the same task.
I did a
git bisect start
on commit 729ed75 and then walked through 3 to 4 commits. It boils down to this commit: 30fab4f (commit comment "Fix contacts download empty") - this is the first commit that inceases running time by factor 7.I did look into the code and the suspicious line for me is this one:
carddav2fb/src/Http/ClientTrait.php
Line 40 in 22c4512
The old code behaved like a Singleton and recycled the client object:
The new code creates a new Client object for every vCard we want to download. Seems this is a "costly" operation. I'm insecure if we can just roll back the few lines of "getClient", because I don't completely understand the "mergeOptions" part...
So, no PR from me here... @andig can you take over with the analysis above?
The text was updated successfully, but these errors were encountered: