So I'm doing a little benchmark for measuring operations per second for different operator/type combinations on C++ and now I'm stuck. My tests for +/int and +/float looks like
int int_plus(){
    int x = 1;
    for (int i = 0; i < NUM_ITERS; ++i){
        x += i; 
    }
    return x;   
}
float float_plus(){
    float x = 1.0; 
    for (int i = 0; i < NUM_ITERS; ++i){
        x += i;
    } 
    return x; 
}
And time measurement looks like
    //same for float
    start = chrono::high_resolution_clock::now();
    int res_int = int_plus();  
    end = chrono::high_resolution_clock::now();
    diff = end - start;
    ops_per_sec = NUM_ITERS / (diff.count() / 1000);
When I run tests I get
- 3.65606e+08 ops per second for int_plus
- 3.98838e+08 ops per second for float plus
But as I understand float operations is always slower than int operations, but my tests show greater value on float type. So there is the question: Am I wrong or there's something wrong with code? Or, maybe, something else?
 
    