Eliminacja sprawdzania zakresu
![]() | Ten artykuł od 2022-03 wymaga zweryfikowania podanych informacji. Należy podać wiarygodne źródła w formie przypisów bibliograficznych. Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte. Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary) Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu. Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu. |
Eliminacja sprawdzania zakresu (ang. bounds-checking elimination) to optymalizacja kompilatora przydatna w językach programowania lub środowiskach uruchomieniowych które wymagają sprawdzania zakresu tablic, czyli sprawdzania przy każdym dostępie do tablicy czy indeks do niej ma wartość mieszczącą się w jej zakresie. Celem jest eliminacja niepotrzebnych sprawdzeń.
Prostym przykładem jest odczyt elementu tablicy, modyfikacja go i zapis zmodyfikowanej wartości w to samo miejsce. Normalnie wymagało by to dwóch sprawdzeń zakresu, najpierw przy odczycie, a potem przy zapisie. Eliminacja sprawdzania zakresu pozwala na pominięcie drugiego sprawdzenia gdy kompilator albo środowisko uruchomieniowe mogą udowodnić, że rozmiar tablicy i indeks do niej nie zmieniają się pomiędzy tymi dwoma operacjami na niej.
Inny przykład to iteracja po elementach tablicy, gdy warunek pętli gwarantuje, że indeks mieści się w jej zakresie.