From 89cf17c96f1fe780a8aba62930411107ad2c7e59 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Fri, 29 Oct 2021 16:50:13 +0200 Subject: [PATCH] Use maximum zlib compression when generating editor translation headers With comments stripped, this reduces the combined generated translation size from 28.7 MB to 28.4 MB (-240 KB). --- core/core_builders.py | 4 +++- editor/editor_builders.py | 8 ++++++-- modules/mono/build_scripts/make_android_mono_config.py | 4 +++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/core/core_builders.py b/core/core_builders.py index 004475faa70..b07daa80aea 100644 --- a/core/core_builders.py +++ b/core/core_builders.py @@ -35,7 +35,9 @@ def make_certs_header(target, source, env): decomp_size = len(buf) import zlib - buf = zlib.compress(buf) + # Use maximum zlib compression level to further reduce file size + # (at the cost of initial build times). + buf = zlib.compress(buf, zlib.Z_BEST_COMPRESSION) g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n") g.write("#ifndef CERTS_COMPRESSED_GEN_H\n") diff --git a/editor/editor_builders.py b/editor/editor_builders.py index ff0daa86ffa..67d4b8534f3 100644 --- a/editor/editor_builders.py +++ b/editor/editor_builders.py @@ -26,7 +26,9 @@ def make_doc_header(target, source, env): decomp_size = len(buf) import zlib - buf = zlib.compress(buf) + # Use maximum zlib compression level to further reduce file size + # (at the cost of initial build times). + buf = zlib.compress(buf, zlib.Z_BEST_COMPRESSION) g.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n") g.write("#ifndef _DOC_DATA_RAW_H\n") @@ -92,7 +94,9 @@ def make_translations_header(target, source, env, category): with open(sorted_paths[i], "rb") as f: buf = f.read() decomp_size = len(buf) - buf = zlib.compress(buf) + # Use maximum zlib compression level to further reduce file size + # (at the cost of initial build times). + buf = zlib.compress(buf, zlib.Z_BEST_COMPRESSION) name = os.path.splitext(os.path.basename(sorted_paths[i]))[0] g.write("static const unsigned char _{}_translation_{}_compressed[] = {{\n".format(category, name)) diff --git a/modules/mono/build_scripts/make_android_mono_config.py b/modules/mono/build_scripts/make_android_mono_config.py index 28494bff6e4..1920ef1c1a6 100644 --- a/modules/mono/build_scripts/make_android_mono_config.py +++ b/modules/mono/build_scripts/make_android_mono_config.py @@ -8,7 +8,9 @@ def generate_compressed_config(config_src, output_dir): decompr_size = len(buf) import zlib - buf = zlib.compress(buf) + # Use maximum zlib compression level to further reduce file size + # (at the cost of initial build times). + buf = zlib.compress(buf, zlib.Z_BEST_COMPRESSION) compr_size = len(buf) bytes_seq_str = ""