0
0
mirror of https://github.com/signalapp/libsignal.git synced 2024-09-20 03:52:17 +02:00
libsignal/bin/crates_code_size.bloaty
2024-05-30 15:34:29 -04:00

53 lines
1.3 KiB
Plaintext
Executable File

#!/usr/bin/env -S bloaty -d crates -s vm -c
#
# Uses bloaty from https://github.com/google/bloaty. Run as
#
# ./crates_code_size.bloaty target/aarch64-linux-android/release/libsignal_jni.so -- baseline.so
#
# where baseline.so is the same file (here, libsignal_jni.so) built at the
# version to compare against.
#
# We use VM size because otherwise the debug sections are included.
custom_data_source: {
name: "crates"
base_data_source: "inlines"
rewrite: {
pattern: "^(/rustc/|library/)"
replacement: "stdlib"
}
rewrite: {
pattern: "/boring-sys-[^/]+/out/boringssl/"
replacement: "BoringSSL"
}
rewrite: {
pattern: "/\\.?cargo/registry/src/(github.com|index.crates.io)-[^/]+/([^/]+)-\\d[^/]*/"
replacement: "\\2"
}
rewrite: {
pattern: "/\\.?cargo/git/checkouts/([^/]+)-[0-9a-f]+/"
replacement: "\\1"
}
rewrite: {
pattern: "^(/?([^/]+/)+)src/"
replacement: "\\1"
}
rewrite: {
pattern: "(^|.+/)target/[^/]+/([^/]+/)?build/([^/]+)-[0-9a-f]+/.+"
replacement: "\\3 (generated)"
}
rewrite: {
pattern: "(.+):[0-9]+"
replacement: "\\1"
}
rewrite: {
pattern: "\\[section .debug.+\\]"
replacement: "[debug sections]"
}
rewrite: {
pattern: "\\[section .+\\]"
replacement: "[non-code sections]"
}
}