Por que o navegador de cromo 63 é muito maior que 62?

6

Percebi que apt estima que a atualização tenha 48,1 MB mais espaço na atualização de 62.0.3202.94-0ubuntu0.16.04.1317 para 63.0.3239.84-0ubuntu0.16.04.1 . Eu folheei o apt changelog chromium-browser e não vejo nada que é descrito como tendo muito mais espaço. Existe uma maneira rápida de ver quais arquivos foram alterados com apt ou quem sabe ou encontrará o motivo?

$ apt list --upgradable
chromium-browser/xenial-updates,xenial-security 63.0.3239.84-0ubuntu0.16.04.1 amd64 [upgradable from: 62.0.3202.94-0ubuntu0.16.04.1317]
chromium-codecs-ffmpeg-extra/xenial-updates,xenial-security 63.0.3239.84-0ubuntu0.16.04.1 amd64 [upgradable from: 62.0.3202.94-0ubuntu0.16.04.1317]
$ sudo apt dist-upgrade
The following packages will be upgraded:
chromium-browser chromium-codecs-ffmpeg-extra
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 74.4 MB of archives.
After this operation, 48.1 MB of additional disk space will be used.
    
por int_ua 13.12.2017 / 22:08

1 resposta

2

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.

    
por muru 14.12.2017 / 08:09