distribution/registry
Stephen J Day 84046e03e0 Prevent false sharing in signature fetch
The original implementation wrote to different locations in a shared slice.
While this is theoretically okay, we end up thrashing the cpu cache since
multiple slice members may be on the same cache line. So, even though each
thread has its own memory location, there may be contention over the cache
line. This changes the code to aggregate to a slice in a single goroutine.

In reality, this change likely won't have any performance impact. The theory
proposed above hasn't really even been tested. Either way, we can consider it
and possibly go forward.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-04-09 14:35:10 -07:00
..
api/v2 Stronger validation for uuid field in urls 2015-04-01 18:57:59 -07:00
auth Merge pull request #256 from ncdc/master 2015-03-11 19:01:23 -07:00
client Remove unnecessary close in client 2015-03-03 19:29:12 -08:00
handlers Move expvar under the registry section 2015-04-02 21:30:27 -07:00
middleware Fix Godoc typos 2015-03-11 08:56:29 -07:00
storage Prevent false sharing in signature fetch 2015-04-09 14:35:10 -07:00
doc.go Integrate layer info cache with registry and storage 2015-04-02 20:15:16 -07:00