spiegel_podman/libpod/image
Valentin Rothberg dcf39f0abe image list: speed up
Listing images has shown increasing performance penalties with an
increasing number of images.  Unless `--all` is specified, Podman
will filter intermediate images.  Determining intermediate images
has been done by finding (and comparing!) parent images which is
expensive.  We had to query the storage many times which turned it
into a bottleneck.

Instead, create a layer tree and assign one or more images to nodes that
match the images' top layer.  Determining the children of an image is
now exponentially faster as we already know the child images from the
layer graph and the images using the same top layer, which may also be
considered child images based on their history.

On my system with 510 images, a rootful image list drops from 6 secs
down to 0.3 secs.

Also use the tree to compute parent nodes, and to filter intermediate
images for pruning.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-08-11 11:14:24 +02:00
..
testdata Split refNamesFromImageReference from Runtime.getPullListFromRef 2018-08-01 18:22:58 +00:00
config.go honor pull policy in play kube 2020-01-28 13:36:10 -06:00
docker_registry_options.go move go module to v2 2020-07-06 15:52:17 +02:00
errors.go podman untag: error if tag doesn't exist 2020-06-24 14:46:50 -04:00
filters.go image list: speed up 2020-08-11 11:14:24 +02:00
image.go image list: speed up 2020-08-11 11:14:24 +02:00
image_test.go move go module to v2 2020-07-06 15:52:17 +02:00
layer_tree.go image list: speed up 2020-08-11 11:14:24 +02:00
manifests.go manifest annotate 2020-05-05 15:01:32 -04:00
parts.go honor pull policy in play kube 2020-01-28 13:36:10 -06:00
parts_test.go Remove imageParts.{isTagged,registry,name,tag} 2019-01-14 04:07:24 +01:00
prune.go image list: speed up 2020-08-11 11:14:24 +02:00
pull.go move go module to v2 2020-07-06 15:52:17 +02:00
pull_test.go bump containers/image to v5.0.0, buildah to v1.11.4 2019-10-29 13:35:18 -04:00
search.go search: allow wildcards 2020-07-15 11:42:04 +02:00
signing_options.go Stage3 Image Library 2018-03-14 20:21:31 +00:00
tree.go Refactor image tree for API usage 2020-02-17 11:12:35 +01:00
utils.go images: distinguish between tags and digests 2019-10-29 13:35:19 -04:00