Toolverse
Wszystkie skille

jit-overview

autor: facet-rs

Zrozum architekturę JIT deserializacji w formacie facet — od tiering po debugowanie

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend

O skillu

Skill orientacyjny do JIT deserializacji w formacie facet. Wyjaśnia dwuwarstwową architekturę (Tier 1 dla ParseEvent, Tier 2 dla bezpośredniego parsowania bajtów), mechanizm fallbacków i gdzie szukać przy zmianach lub debugowaniu kodu JIT. Zawiera mapy punktów wejścia w kodzie źródłowym oraz wskazówki do diagnostyki problemów z wydajnością deserializacji.

Jak używać

  1. Przeczytaj ten skill, gdy pracujesz z kodem w facet-format/src/jit/ lub włączasz feature jit w swoim projekcie.
  2. Zapoznaj się z modelem mentalnym: FormatParser generuje stream ParseEvent, a warstwa sterowana kształtem (shape) konsumuje te eventy i zapisuje do pamięci wyjściowej. JIT kompiluje kod specjalizowany dla konkretnego typu docelowego i opcjonalnie dla parsera formatu.
  3. Zrozum architekturę dwuwarstwową: Tier 1 (shape JIT) kompiluje kod dla dowolnego formatu implementującego FormatParser; Tier 2 (format JIT) omija stream ParseEvent i parsuje bajty bezpośrednio za pomocą Cranelift IR, gdy cały input jest dostępny.
  4. Pamiętaj, że fallbacki są częścią projektu — Tier 2 może zwrócić "unsupported" dla nieobsługiwanych kształtów i musi być wolny od efektów ubocznych; typowy przepływ próbuje Tier 2, następnie Tier 1, potem reflection.
  5. Gdy debugujesz problemy z wydajnością lub awarie JIT (SIGSEGV), zacznij od głównej dokumentacji w facet-format/src/jit/mod.rs, sprawdź trait FormatJitParser w facet-format/src/parser.rs i przeanalizuj implementację w konkretnym cratie formatu (np. facet-json/Cargo.toml).

Podobne skille