distribution/registry/storage
Stephen J Day 2aa09ff9a8 registry/storage: more efficient path compare in catalog
Previous component-wise path comparison is recursive and generates a
large amount of garbage. This more efficient version simply replaces the
path comparison with the zero-value to sort before everything. We do
this by replacing the byte-wise comparison that swaps a single character
inline for the separator comparison, such that separators sort first.

The resulting implementation provides component-wise path comparison
with no cost incurred for allocation or stack frame.

Direction of the comparison is also reversed to match Go style.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-08-26 11:08:59 -07:00
..
cache Add support for layers from foreign sources 2016-05-20 12:31:10 -07:00
driver Merge pull request #1739 from cezarsa/master 2016-06-15 10:33:48 -07:00
blob_test.go Merge pull request #1706 from aibaars/registry-size-close 2016-06-13 16:29:35 -07:00
blobcachemetrics.go Open cache interface 2015-05-15 17:56:28 -07:00
blobserver.go Serve blobs when a storage driver supports redirects but are disabled 2015-12-28 11:08:39 -08:00
blobstore.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
blobwriter.go If resumable digest support is disabled, detct this when closing the blobwriter 2016-06-13 17:35:06 -07:00
blobwriter_nonresumable.go If resumable digest support is disabled, detct this when closing the blobwriter 2016-06-13 17:35:06 -07:00
blobwriter_resumable.go Adds new storagedriver.FileWriter interface 2016-03-08 16:37:44 -08:00
catalog.go registry/storage: more efficient path compare in catalog 2016-08-26 11:08:59 -07:00
catalog_test.go Fix storage drivers dropping non EOF errors when listing repositories 2016-08-26 11:07:24 -07:00
doc.go Move storage package under registry package 2015-02-11 12:43:04 -08:00
filereader.go Adds new storagedriver.FileWriter interface 2016-03-08 16:37:44 -08:00
filereader_test.go fix typos 2016-06-02 23:03:27 +08:00
garbagecollect.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
garbagecollect_test.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
linkedblobstore.go fix typos 2016-06-02 23:03:27 +08:00
manifestlisthandler.go Add support for manifest list ("fat manifest") 2016-01-07 15:26:27 -08:00
manifeststore.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
manifeststore_test.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
paths.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
paths_test.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
purgeuploads.go Remove pathMapper object 2015-08-17 18:51:05 -07:00
purgeuploads_test.go Remove pathMapper object 2015-08-17 18:51:05 -07:00
registry.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
schema2manifesthandler.go Add support for layers from foreign sources 2016-05-20 12:31:10 -07:00
schema2manifesthandler_test.go Add support for layers from foreign sources 2016-05-20 12:31:10 -07:00
signedmanifesthandler.go Remove signature store from registry. Return a generated signature for manifest 2016-05-27 13:19:26 -07:00
tagstore.go Rename Name method of Repository to Named 2016-02-04 09:55:36 -08:00
tagstore_test.go compare error output in tagstore unit test 2016-02-22 17:34:22 +08:00
util.go Refactor Blob Service API 2015-05-15 17:05:18 -07:00
vacuum.go Implements garbage collection subcommand 2016-02-29 14:15:21 -08:00
walk.go storage: enforce sorted traversal during Walk 2015-12-01 16:25:30 -08:00
walk_test.go Fix some typos in comments and strings 2016-02-23 22:33:38 +01:00