summaryrefslogtreecommitdiffstats
path: root/build/scripts
diff options
context:
space:
mode:
authorantoshkka <[email protected]>2026-05-09 20:16:58 +0300
committerantoshkka <[email protected]>2026-05-09 21:04:57 +0300
commit1be6aa4b337efcbbe5a6ae4e93629cd58bbac747 (patch)
tree8fe1528e06fec3eb1c3d34ae0ac8739daa296983 /build/scripts
parent6defa095368134f62323c48cabee1a95304cf742 (diff)
feat all: use zstd compression
File sizes: ``` -g 910385468 Jan 1 1970 libyt-yt-client.a -g -gz 589148980 May 6 12:16 libyt-yt-client.a -g -gz=zstd 585019668 May 6 12:34 libyt-yt-client.a -g -gz=zstd 1674173480 May 6 13:27 drive-billing-exports -g -gz=zstd -Wl,--compress-debug-sections=zstd 899287344 May 6 14:00 drive-billing-exports ``` Mesured compile+link times with the following script: ``` arc checkout . sed -i "s/${SERVICE_NAME}/${SERVICE_NAME}_${I}_${RANDOM}_${RANDOM}_${RANDOM}_${RANDOM}_${RANDOM}_${RANDOM}/g" src/custom/dependencies.cpp OUTPUT=$(~/workspace/arcadia/ya make --stat 2>&1) echo "$OUTPUT" | grep -om1 "^\[.* \[LD\] .*${SERVICE_NAME}/${SERVICE_NAME}" >>ld.txt echo "$OUTPUT" | grep -om1 "^\[.* \[CC\] .*${SERVICE_NAME}/src/custom/dependencies.cpp" >>cc.txt echo "$OUTPUT" >>full.txt ``` Trunk times in milliseconds: CC: 8944 8405 8117 11203 19236 11660 9149 24319 21236 14753 25508 28099 9226 31387 9555 11268 9088 10640 13751 8855 11266 9141 8168 8712 11111 10235 28576 8996 9362 8973 9055 9822 LD: 5956 9394 15380 9055 7089 7308 15433 12948 14123 5524 4808 10559 6837 4906 18253 5208 16335 7493 5180 47220 12491 21603 34733 4432 5353 8633 4732 25937 19158 24316 5825 7357 ZSTD times in milliseconds: CC: 10180 8017 13135 8569 16033 17698 12524 8442 12902 7797 20236 7857 14715 8096 8541 9232 10839 8989 8988 17173 8211 8737 22424 8139 23770 8622 13765 12744 8204 23573 8358 8123 9091 18869 LD: 6125 5914 6975 21408 15227 7309 6401 13417 8862 24954 5509 33813 6207 5571 15423 5716 5807 6352 16953 6064 22793 14156 7203 10811 6287 15363 6259 5897 25905 5400 20217 5624 17351 6593 ``` | CC min | CC median | CC max | CC avg | LD min | LD median | LD max | LD avg ------|--------|-----------|--------|--------|--------|-----------|--------|------- Trunk | 8117 | 9822 | 31387 | 13369 | 4432 | 8633 | 47220 | 12612 ZSTD | 7797 | 9091 | 23770 | 12135 | 5400 | 6975 | 33813 | 11584 ``` **Compilation time and linking time drop down on ~10%** **Conclusion**: archive and binary sizes drop down on 33%-45%. As a result: * OS FS cache works better, less files required for compilation are flushed out from memory * linking touches smaller files and works faster * compilation produces smaller files and does less slow disk IO commit_hash:bebcd6cedb271b14b7d771d50924c005ab9375bf
Diffstat (limited to 'build/scripts')
-rw-r--r--build/scripts/clang_tidy.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/build/scripts/clang_tidy.py b/build/scripts/clang_tidy.py
index d0eaaf284cd..fce6815f4ad 100644
--- a/build/scripts/clang_tidy.py
+++ b/build/scripts/clang_tidy.py
@@ -125,6 +125,8 @@ def find_header(p, h):
def main():
args, clang_cmd = parse_args()
+ if '-gz=zstd' in clang_cmd:
+ clang_cmd.remove('-gz=zstd')
if '/retry_cc.py' in str(clang_cmd):
clang_cmd = list(filter_cmd(clang_cmd))
setup_script(args)