distribution/registry/storage
Stephen J Day bba5a0d05c
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-08 15:55:26 -07:00
..
cache Add support for layers from foreign sources 2016-05-20 12:31:10 -07:00
driver Add 'objectAcl' Option to the S3 Storage Backend (#1867) 2016-07-27 12:26:57 -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 registry: avoid formatting errors with %#v 2016-07-01 11:30:58 -03: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-08 15:55:26 -07:00
catalog_test.go Enh: Test - Edit catalog_test to reproduce #1854 2016-07-21 11:23:19 -04: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 Add control over validation of URLs in pushed manifests 2016-07-19 14:38:42 -07:00
linkedblobstore.go Provide stat descriptor for Create method during cross-repo mount (#1857) 2016-08-01 19:07:11 -07:00
linkedblobstore_test.go Provide stat descriptor for Create method during cross-repo mount (#1857) 2016-08-01 19:07:11 -07:00
manifestlisthandler.go Decouple storage components by redefining dependencies as interfaces instead of concrete types 2016-07-20 15:09:11 -07:00
manifeststore.go fix typos 2016-06-22 12:40:21 +08: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 Fix the build. 2016-07-21 17:16:47 -07:00
schema2manifesthandler.go Fix the build. 2016-07-21 17:16:47 -07:00
schema2manifesthandler_test.go Add control over validation of URLs in pushed manifests 2016-07-19 14:38:42 -07:00
signedmanifesthandler.go Decouple storage components by redefining dependencies as interfaces instead of concrete types 2016-07-20 15:09:11 -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