Toolverse
Wszystkie skille

noir-optimize-acir

autor: noir-lang

Zmierz i zoptymalizuj rozmiar obwodu ACIR w programach Noir

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
3

O skillu

Umiejętność do pomiaru i optymalizacji rozmiaru obwodu ACIR w ograniczonych programach Noir. Pozwala na śledzenie liczby bramek logicznych i operacji ACIR, a następnie systematyczne zmniejszanie czasu dowodzenia poprzez iteracyjne testy. Pracuje z projektami binarnymi (nargo compile) i biblioteczkami (nargo export). Wskazuje, które zmiany faktycznie zmniejszają rozmiar obwodu, a które są bezproduktywne.

Jak używać

  1. Przygotuj projekt Noir. Jeśli to projekt binarny, upewnij się, że można go skompilować za pomocą nargo compile. Jeśli to biblioteka, oznacz funkcje, które chcesz mierzyć, dekoratorem #[export].

  2. Ustaw punkt odniesienia. Dla projektów binarnych uruchom nargo compile && bb gates -b ./target/.json i zanotuj wartości circuit_size oraz acir_opcodes. Dla bibliotek użyj nargo export && bb gates -b ./export/.json. Te liczby będą Twoją bazą porównawczą.

  3. Zastosuj jedną zmianę na raz. Może to być zmiana algorytmu, redukcja liczby operacji, czy inny sposób napisania kodu. Nigdy nie zmieniaj kilku rzeczy jednocześnie — nie będziesz wiedzieć, która zmiana faktycznie pomogła.

  4. Ponownie skompiluj i zmierz wyniki. Uruchom te same komendy co w kroku 2 i porównaj nowe wartości circuit_size z punktem odniesienia. Priorytet: circuit_size wpływa na czas dowodzenia, który zwykle jest wąskim gardłem.

  5. Cofnij zmianę, jeśli nie pomogła. Jeśli circuit_size wzrósł lub pozostał taki sam, wycofaj zmianę. Zapisz tylko te, które zmniejszyły rozmiar obwodu.

  6. Powtarzaj proces. Kontynuuj iteracyjnie: zmiana → pomiar → decyzja (zatrzymaj lub cofnij) → następna zmiana. Prowadź dziennik zmian i ich wpływu na metryki.

Podobne skille