Так как на форуме, есть программисты вопрос адресую к ним.
У меня тут вопрос о границах массива в программировании.
К примеру язык си не проверяет границы массива. Паскаль проверяет.
Я подхожу к вопросу, так ли падает производительность с проверкой?
Я как понял.
int Array[100];
Присваиваем (массив нумерауется с нуля.)
Array[0] = 5; всё нормально.
Array[239] = 5; ошибка и пошли пляски
Проверка происходит так
if (index < 0) and (index > 100) then
Print(ошибка выхода за границ массива)
else
Array[index] = 5;
Так вот на асме выглядит так(псевдо асм)
index = 5
IF index < 0
IF index > 100 goto L2 4 инструкции 2 сравнения AND и JMP
То есть производительность падает в 4 раза. 400%
В инете пишут что в десятки раз падает производительность
Другие пишут, что проверки тормозять на несколько процентов
Как выяснить? Объясните.
Это не холивар. Просто хочется разобраться.