diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-08-08 16:18:13 +0200 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-08-08 16:49:22 +0200 |
commit | 77c8520e2ecd70520757aed0fbdf434643b60234 (patch) | |
tree | f2de90300397f53d8c7637d27a1528e4fc45fde9 /builds | |
parent | 685c048d62e35636e9c5e59524e8ceddd03c9c7f (diff) | |
download | gitlab-ce-faster-cache-keys.tar.gz |
Added concern for a faster "cache_key" methodfaster-cache-keys
This concern provides an optimized/simplified version of the "cache_key"
method. This method is about 9 times faster than the default "cache_key"
method.
The produced cache keys _are_ different from the previous ones but this
is worth the performance improvement. To showcase this I set up a
benchmark (using benchmark-ips) that compares FasterCacheKeys#cache_key
with the regular cache_key. The output of this benchmark was:
Calculating -------------------------------------
cache_key 4.825k i/100ms
cache_key_fast 21.723k i/100ms
-------------------------------------------------
cache_key 59.422k (± 7.2%) i/s - 299.150k
cache_key_fast 543.243k (± 9.2%) i/s - 2.694M
Comparison:
cache_key_fast: 543243.4 i/s
cache_key: 59422.0 i/s - 9.14x slower
To see the impact on real code I applied these changes and benchmarked
Issue#referenced_merge_requests. For an issue referencing 10 merge
requests these changes shaved off between 40 and 60 milliseconds.
Diffstat (limited to 'builds')
0 files changed, 0 insertions, 0 deletions