Марк Коренберг added the comment:
$ gcc -O3 -DDOIT=doit ./zzz.c -o zzz && time ./zzz
real 0m1.675s
user 0m1.672s
sys 0m0.000s
$ gcc -O3 -DDOIT=doit2 ./zzz.c -o zzz && time ./zzz
real 0m1.657s
user 0m1.656s
sys 0m0.000s
====================================================
#include <stdint.h>
static int __attribute__((noinline)) doit(int64_t index, int64_t nitems)
{
return index < 0 || index >= nitems;
}
static int __attribute__((noinline)) doit2(int64_t index, int64_t nitems)
{
return (uint64_t)index >= (uint64_t)nitems;
}
int main(void)
{
int count=0, i;
for (i = 0; i < 1000000000; i++) {
count += DOIT(832921, i);
}
return count;
}
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue28397>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com