J
jit-overview
Zrozum architekturę JIT deserializacji w formacie facet — od tiering po debugowanie
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
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ć
- Przeczytaj ten skill, gdy pracujesz z kodem w
facet-format/src/jit/lub włączasz featurejitw swoim projekcie. - Zapoznaj się z modelem mentalnym:
FormatParsergeneruje streamParseEvent, 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. - 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. - 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.
- Gdy debugujesz problemy z wydajnością lub awarie JIT (SIGSEGV), zacznij od głównej dokumentacji w
facet-format/src/jit/mod.rs, sprawdź traitFormatJitParserwfacet-format/src/parser.rsi przeanalizuj implementację w konkretnym cratie formatu (np.facet-json/Cargo.toml).