Przejdź do treści
Wszystkie realizacje
Platform engineering · Chromium

Od pięciu godzin do półtorej

Przebudowa procesu kompilacji własnej wersji Chromium, która skróciła cykl pracy nad przeglądarką i rozwiązaniami fingerprintingowymi.

eSky

3,3×

szybsza kompilacja własnej wersji Chromium

Kontekst projektu

Problem, który wymagał zmiany

Własna wersja Chromium była podstawą prac nad realistycznym fingerprintem i odpornością automatyzacji, ale pełna kompilacja trwała około pięciu godzin.

Tak długi cykl utrudniał eksperymenty i opóźniał sprawdzanie zmian w niskopoziomowych elementach przeglądarki.

Zakres odpowiedzialności

Od diagnozy do wdrożenia

  • 01Profilowanie i optymalizacja procesu kompilacji Chromium
  • 02Wdrożenie ccache, tmpfs i cache skompilowanych plików
  • 03Implementacja patchy dla własnej wersji przeglądarki
  • 04Rozwój SDK zbierającego rzeczywisty fingerprint użytkownika
  • 05Integracja SDK z aplikacjami Angular 14+ i procesami zespołu
Proces

Decyzje ułożone w kontrolowany proces

  1. 01

    Pomiar

    Rozbicie czasu kompilacji na etapy i wskazanie operacji najbardziej obciążających zasoby.

  2. 02

    Szybsze środowisko

    Wykorzystanie tmpfs do ograniczenia kosztu operacji dyskowych podczas kompilacji.

  3. 03

    Ponowne użycie pracy

    Konfiguracja ccache oraz cache artefaktów, aby nie kompilować bez zmian tych samych elementów.

  4. 04

    Walidacja

    Sprawdzenie poprawności własnych patchy i włączenie zoptymalizowanego procesu do codziennej pracy.

Mierzalne rezultaty

~5 h

wcześniejszy czas pełnej kompilacji

~1,5 h

czas kompilacji po optymalizacji

3,3×

szybsza pętla implementacji i walidacji zmian

C++ · Chromium · ccache · tmpfs · TypeScript · Angular · CI/CD

Następny krok

Masz podobne wyzwanie? Porozmawiajmy o konkretnym rezultacie.

Napisz krótko, co dziś ogranicza produkt lub zespół. Odpowiem bezpośrednio i wskażę sensowny pierwszy krok.

Porozmawiajmy o projekcie

Następna realizacja

Lekki produkt mobilny dla sieci 3G

Some Say · Aleksander Szmigiel

Masz trudny problem techniczny?

Napisz do mnie