devnews.pl

Main Menu

  • Informacje
    • Systemy i przeglądarki
    • Gadżety
  • Narzędzia
  • Frontend
  • Backend
  • QA
  • Języki programowania

logo

devnews.pl

  • Informacje
    • Systemy i przeglądarki
    • Gadżety
  • Narzędzia
  • Frontend
  • Backend
  • QA
  • Języki programowania
Narzędzia
Home›Narzędzia›Git 2.31 dostępny z konserwacją w tle

Git 2.31 dostępny z konserwacją w tle

By Bernadeta Zapała
24 marca 2021
54
0
Share:

Projekt open source – Git wydał kolejną wersję swojego oprogramowania Git 2.31. Wśród nowych funkcji jest git maintenance (konserwacja w tle). Pracownicy pracowali także nad poprawą wydajności projektu.

Git 2.31 prezentuje git maintenance

Git podczas normalnego użytkowania zapisuje wiele danych, takich jak obiekty, referencje czy pliki pakietów. Jednak czasami są one zoptymalizowane pod kątem zapisu, dzięki czemu szybciej będzie zapisany pojedynczy, luźny obiekt, a cały packfile szybciej się wczyta. Kompromis wprowadzony przez Git polega na optymalizacji ścieżki zapisu podczas pracy. Co jakiś czas zapis jest wstrzymywany, a Git przedstawia wewnętrzne struktury danych. Daje to lepszą produktywność, przez efektywniejszą prezentację tych danych do odczytu.

Czasami jednak heurystyka wskazująca najlepszy moment na wstrzymanie zapisu, stosowana przez Git, pokazuje blokujący git gc w nieodpowiednim momencie. Dlatego najnowsza wersja Git wprowadza konserwację w tle (background maintenance). Pozwala ona systemowi utrzymywać repozytorium w dobrym stanie, bez blokowania interakcji. Konserwacja w tle poprawi czasy wykonywania git fetch, przez pobieranie z wyprzedzeniem najnowszych obiektów ze zdalnych repozytoriów raz na godzinę. Tak samo często Git będzie aktualizował commit-graph, porządkując także swoje dane. 

Dyskowe indeksy zwrotne

Kolejną zmianą w tym wydaniu jest możliwość serializacji indeksu wstecznego do nowego formatu z rozszerzeniem .rev. 

Wszystkie dane w Git są przechowywane jako obiekty – commity, drzewa czy bloby. Następnie oprogramowanie umieszcza je w plikach packfiles, jako połączony strumień obiektów. Każdy z tych plików otrzymuje specjalnie wygenerowany indeks, który pozwala na szybką konwersję identyfikatora obiektu na jego offset bajtowy. Inaczej to działa w odwrotnym kierunku. Git korzysta z mapowania reverse index, aby określić obiekt, którego po bajcie szuka w packfile. Dotychczas taki format na dysku dla zwrotnych indeksów nie był dostępny, więc Git generował i przechowywał indeks odwrotny w pamięci. W przypadku dużych plików w repozytoriach taka czynność wymagała sporej ilości czasu. 

Dzięki wprowadzonym dyskowym indeksom zwrotnym użytkownik otrzymuje wydrukowaną zawartość obiektu znacznie szybciej, co zwiększa wydajność pracy programu. Przede wszystkim indeksy zwrotne mogą być potrzebne przy wysyłaniu bajtów obiektu bezpośrednio z dysku podczas wysyłania obiektów do pobrania.

Pozostałe zmiany w Git 2.31

Git wprowadził także zmiany w pliku commit-graph. Skorzystano z nowego rodzaju numeru generacji, dzięki któremu w niektórych przypadkach poprawi się wydajność. Innym ulepszeniem w wersji 2.31 jest opcja –disk-usage, która działa szybciej niż korzystanie z istniejących narzędzi do sumowania rozmiarów obiektów. Wszystkie zmiany w Git 2.31 opisane są w repozytorium. 

Źródło: GitHub Blog

TagsGitGithubOpen Source

Share:

  • PowerToys 0.19.1
    Narzędzia

    PowerToys 0.19.1 – aktualizacja nowego wydania 0.19

  • Systemy i przeglądarki

    Edge 81 – Nowa wersja przeglądarki Microsoft

  • QA

    React Native Testing Library 2.0

  • 13 kwietnia 2021

    TypeScript 4.3 beta z oddzielnymi typami zapisu

  • 7 kwietnia 2021

    Billboard.js 3.0 z nowym typem świecy

  • 2 kwietnia 2021

    Silnik V8 9.0 beta udostępniony

  • 1 kwietnia 2021

    ReacType 6.0 z nowym dashboardem

  • 29 marca 2021

    Udostępniono Android 12 Developer Preview 2

  • 24 marca 2021

    Git 2.31 dostępny z konserwacją w tle

  • 19 marca 2021

    Relay Hooks – nowy zestaw interfejsów API

  • 18 marca 2021

    Deno 1.8 ze wsparciem interfejsu API WebGPU 

  • 16 marca 2021

    React Native 0.64 z silnikiem Hermes na iOS

  • 9 marca 2021

    Windows Terminal Preview 1.7 z lepszym zarządzaniem oknami

  • 3 marca 2021

    Vite 2.0 wydane z nowymi wtyczkami

  • 25 lutego 2021

    ReacType 5.0 – zmiany we wprowadzaniu komponentów

  • 23 lutego 2021

    Dapr v.1.0 gotowy do fazy produkcji

  • 22 lutego 2021

    ReScript 9.0 z zewnętrzną konfiguracją stdlib

  • 22 lutego 2021

    One UI 3.1 z ciekawymi nowościami dla urządzeń Samsunga

  • 22 lutego 2021

    Windows Terminal Preview 1.6 z nową sekcją ustawień

  • 15 lutego 2021

    Visual Studio Code 1.53 z ulepszeniami debugowania

  • 8 lutego 2021

    Edge 89 beta, Edge Dev 90 i nowości na kanale Canary

  • 2 lutego 2021

    Firefox 85 i Firefox Nightly – nowe wersje przeglądarki Mozilli

  • 29 stycznia 2021

    Billboard.js 2.2.0 z nowymi funkcjami wykresów

  • 26 stycznia 2021

    Kendo UI R1 2021 – nowości dla bibliotek

  • 21 stycznia 2021

    Narzędzie Vno – połączenie Vue i Deno

  • 19 stycznia 2021

    GitHub Enterprise Server 3.0 RC – kandydat do wydania

  • 15 stycznia 2021

    TypeScript 4.2 Beta z ulepszeniami typów krotek

  • 13 stycznia 2021

    Styczniowy Patch Tuesday z luką 0-day

  • 11 stycznia 2021

    Safari Technology Preview 118 dostępne dla programistów

  • 8 stycznia 2021

    Microsoft Launcher na Androida z usprawnionym dotykiem

  • 7 stycznia 2021

    WebStorm 2020.3.1 dostępny dla urządzeń z Apple Silicon

  • 22 grudnia 2020

    ReScript 8.4 z przypiętymi zależnościami

  • 14 grudnia 2020

    Edge 88 beta i przeglądarka na kanale Canary dostępne!

 

 

Jesteśmy pasjonatami najnowszych technologii w świecie programowania. Zbieramy dla Was informacje i porady z całego świata, które sprawią, że Twoja praca stanie się jeszcze bardziej efektywna.

Obserwuj nas codziennie, aby być na bieżąco oraz śmiało udostępniaj nasze posty.

Zespół DevNews

Kategorie

  • Backend
  • Bez kategorii
  • Frontend
  • Gadżety
  • Informacje
  • Języki programowania
  • Narzędzia
  • QA
  • Systemy i przeglądarki

OBSERWUJ NAS

KONTAKT

Chcesz się z nami skontaktować?

Napisz do nas wiadomość: kontakt@devnews.pl

www.devnews.pl | DEVNEWS 2020 | Newsy i ciekawostki ze świata IT