LINUX.ORG.RU

История изменений

Исправление kirk_johnson, (текущая версия) :

$ gcc -Wall -Wextra -std=c11 -O2 -DBOUNDS -o bounds test.c
$ gcc -Wall -Wextra -std=c11 -O2          -o no-bounds test.c
$ ./bounds; echo $?  
time = 658250917ns
0
$ ./no-bounds; echo $?
time = 654786097ns
0
$ gcc --version
gcc (Gentoo 7.1.0-r1 p1.1) 7.1.0

P.S. Ты забыл indexes volatile сделать, цомпилер догадался, что ты все элементы меньше 1024 сделал.

Исправление kirk_johnson, :

$ gcc -Wall -Wextra -std=c11 -O2 -DBOUNDS -o bounds test.c
$ gcc -Wall -Wextra -std=c11 -O2          -o no-bounds test.c
$ ./bounds; echo $?  
time = 658250917ns
0
$ ./no-bounds; echo $?
time = 654786097ns
0
$ gcc --version
gcc (Gentoo 7.1.0-r1 p1.1) 7.1.0

Исходная версия kirk_johnson, :

$ gcc -Wall -Wextra -std=c11 -O2 -DBOUNDS -o bounds test.c
$ gcc -Wall -Wextra -std=c11 -O2          -o no-bounds test.c
$./bounds; echo $?  
time = 658250917ns
0
$ ./no-bounds; echo $?
time = 654786097ns
0
$ gcc --version
gcc (Gentoo 7.1.0-r1 p1.1) 7.1.0