A diferença de tamanho parece ser de um novo arquivo binário v8_context_snapshot_generator
. Eu extraí o conteúdo dos debs e os comparei:
$ ls -sSh 6*/usr/lib/chromium-browser
61/usr/lib/chromium-browser:
total 222M
132M chromium-browser 5.0M libGLESv2.so 1.5M libVkLayer_unique_objects.so 1.1M chrome_200_percent.pak 220K natives_blob.bin 4.0K WidevineCdm 4.0K v8_build_config.json
14M resources.pak 3.0M gn 1.5M libVkLayer_swapchain.so 784K libVkLayer_threading.so 152K mus_app_resources_200.pak 4.0K angledata 0 libs
13M ui.service 2.9M test_ime_driver.service 1.4M keyboard_resources.pak 772K chrome_100_percent.pak 128K views_mus_resources.pak 4.0K locales
9.8M icudtl.dat 2.6M libVkLayer_core_validation.so 1.2M brotli 576K libwidevinecdmadapter.so 92K mus_app_resources_100.pak 4.0K plugins
9.0M headless_lib.pak 1.9M libVkLayer_parameter_validation.so 1.2M flatc 508K libEGL.so 40K xdg-mime 4.0K swiftshader
6.7M font_service.service 1.6M libVkLayer_object_tracker.so 1.2M proto_zero_plugin 508K libwidevinecdm.so 36K xdg-settings 4.0K mus_app_resources_strings.pak
6.6M toolchain.ninja 1.5M snapshot_blob.bin 1.1M transport_security_state_generator 472K character_data_generator 16K chrome-sandbox 4.0K args.gn
63/usr/lib/chromium-browser:
total 270M
134M chromium-browser 3.0M test_ime_driver.service 1.2M snapshot_blob.bin 504K libEGL.so 44K chrome_100_percent.pak.info 4.0K WidevineCdm
44M v8_context_snapshot_generator 2.7M libVkLayer_core_validation.so 1.2M brotli 492K libwidevinecdm.so 44K chrome_200_percent.pak.info 4.0K angledata
14M resources.pak 2.6M gn 1.2M proto_zero_plugin 472K character_data_generator 40K xdg-mime 4.0K locales
13M ui.service 1.9M libVkLayer_parameter_validation.so 1.2M flatc 212K natives_blob.bin 36K views_mus_resources.pak.info 4.0K plugins
9.8M icudtl.dat 1.6M v8_context_snapshot.bin 1.1M transport_security_state_generator 188K headless_lib.pak.info 36K xdg-settings 4.0K swiftshader
9.1M headless_lib.pak 1.6M libVkLayer_object_tracker.so 1.1M chrome_200_percent.pak 156K resources.pak.info 16K chrome-sandbox 4.0K mus_app_resources_strings.pak
7.3M toolchain.ninja 1.5M libVkLayer_unique_objects.so 792K chrome_100_percent.pak 128K mus_app_resources_200.pak 12K mus_app_resources_strings.pak.info 4.0K args.gn
6.5M font_service.service 1.5M libVkLayer_swapchain.so 776K libVkLayer_threading.so 112K views_mus_resources.pak 12K mus_app_resources_100.pak.info 4.0K v8_build_config.json
5.3M libGLESv2.so 1.4M keyboard_resources.pak 576K libwidevinecdmadapter.so 72K mus_app_resources_100.pak 12K mus_app_resources_200.pak.info 0 libs
$ file 63/usr/lib/chromium-browser/v8_*
63/usr/lib/chromium-browser/v8_build_config.json: ASCII text, with no line terminators
63/usr/lib/chromium-browser/v8_context_snapshot.bin: data
63/usr/lib/chromium-browser/v8_context_snapshot_generator: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=99a63c90180ec5a32ea8861d44f405942ccbbdab, stripped
Esta parece ser uma nova ferramenta destinada a acelerar a criação de contextos V8. O V8 é o mecanismo JavaScript usado pelo Chromium, e a criação de novos contextos do V8 é uma parte significativa do tempo gasto para carregar uma página da Web. O documento de design sugere que a criação de contextos a partir de instantâneos de contexto da V8 deve levar a um aumento de velocidade de até 3x, e isso deve ser um programa auxiliar para criar instantâneos em primeiro lugar.
No entanto, ler o documento de design sugere que incluir a ferramenta no pacote pode ser um acidente e, portanto, um erro de empacotamento:
Como criar um instantâneo?
Um instantâneo é criado no tempo de criação. Isso significa que um instantâneo é usuário independente.
Fazemos um arquivo executável que é executado na plataforma do host para fazer um instantâneo. Simula o comportamento de LocalWindowProxy :: Initialize () para criar um v8 :: Context, e gera um arquivo de blob como resultado.
E:
Preocupações
- Esse recurso aumenta o tamanho do APK de 1,6 MB no Android. Pode ser grande o suficiente para cancelar a vitória.
- o Android não tem extensões
- Esse recurso pode aumentar o uso de E / S e memória do disco.
A implicação é que v8_context_snapshot_generator
deve ser executado durante o tempo de compilação do pacote e não em sistemas de usuários individuais. E o pequeno aumento previsto para Android sugere que ele não inclui uma ferramenta de 44 MB.