Марк Коренберг 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 <rep...@bugs.python.org>
<http://bugs.python.org/issue28397>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to