[ostree/wip/delta2] wip/delta: Print comparison of compressed sizes
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree/wip/delta2] wip/delta: Print comparison of compressed sizes
- Date: Sun, 20 Apr 2014 21:44:05 +0000 (UTC)
commit 69846714d1463666e0bf2e43e66f4fac278353f7
Author: Colin Walters <walters verbum org>
Date: Sun Apr 20 17:43:57 2014 -0400
wip/delta: Print comparison of compressed sizes
.../ostree-repo-static-delta-compilation.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/src/libostree/ostree-repo-static-delta-compilation.c
b/src/libostree/ostree-repo-static-delta-compilation.c
index 1e5ef41..9047239 100644
--- a/src/libostree/ostree-repo-static-delta-compilation.c
+++ b/src/libostree/ostree-repo-static-delta-compilation.c
@@ -39,6 +39,7 @@ typedef struct {
typedef struct {
GPtrArray *parts;
GPtrArray *fallback_objects;
+ guint64 loose_compressed_size;
} OstreeStaticDeltaBuilder;
static void
@@ -165,6 +166,7 @@ generate_delta_lowlatency (OstreeRepo *repo,
gs_unref_object GInputStream *content_stream = NULL;
gsize bytes_read;
const guint readlen = 4096;
+ guint64 compressed_size;
ostree_object_name_deserialize (serialized_key, &checksum, &objtype);
@@ -195,6 +197,12 @@ generate_delta_lowlatency (OstreeRepo *repo,
current_part = allocate_part (builder);
}
+ if (!ostree_repo_query_object_storage_size (repo, objtype, checksum,
+ &compressed_size,
+ cancellable, error))
+ goto out;
+ builder->loose_compressed_size += compressed_size;
+
current_part->uncompressed_size += content_size;
g_ptr_array_add (current_part->objects, g_variant_ref (serialized_key));
@@ -331,6 +339,8 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
OstreeStaticDeltaBuilder builder = { 0, };
guint i;
GVariant *metadata_source;
+ guint64 total_compressed_size = 0;
+ guint64 total_uncompressed_size = 0;
gs_unref_variant_builder GVariantBuilder *part_headers = NULL;
gs_unref_ptrarray GPtrArray *part_tempfiles = NULL;
gs_unref_variant GVariant *delta_descriptor = NULL;
@@ -416,6 +426,9 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
ot_gvariant_new_ay_bytes (objtype_checksum_array));
g_variant_builder_add_value (part_headers, g_variant_ref (delta_part_header));
g_ptr_array_add (part_tempfiles, g_object_ref (part_tempfile));
+
+ total_compressed_size += g_variant_get_size (delta_part);
+ total_uncompressed_size += part_builder->uncompressed_size;
g_printerr ("part %u n:%u compressed:%" G_GUINT64_FORMAT " uncompressed:%" G_GUINT64_FORMAT "\n",
i, part_builder->objects->len,
@@ -470,6 +483,9 @@ ostree_repo_static_delta_generate (OstreeRepo *self,
g_date_time_unref (now);
}
+ g_printerr ("delta compressed=%" G_GUINT64_FORMAT " loose=%" G_GUINT64_FORMAT "\n",
+ total_compressed_size, builder.loose_compressed_size);
+
if (!ot_util_variant_save (descriptor_path, delta_descriptor, cancellable, error))
goto out;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]