Hilarious [Or Not So Hilarious] Code Optimizations

前端 未结 3 2087
说谎
说谎 2021-02-06 18:23

Raymond Chen has this to say on his recent post on code optimizations... Obvious optimizations - one that begs to be optimized - tend to be \"de-optimizations\" if you conside

相关标签:
3条回答
  • 2021-02-06 18:26

    My favourite is

    // original code
    int a[10];
    a[5] = 3;
    
    // optimized code
    int a[10];
    *(a + 5) = 3;
    

    Yes, all of a sudden, that's magically faster!!</sarcasm>

    0 讨论(0)
  • 2021-02-06 18:46

    My favorite example would be the XOR swap algorithm:

    // swap these two values:
    int x = 4;
    int y = 2;
    // original:
    int temp = x;
    x = y;
    y = temp;
    // optimized version:
    x ^= y;
    y ^= x;
    x ^= y;

    Yes, it uses no temporary variable, and can usually be done in three processor cycles, but it sure isn't obvious what it does!

    0 讨论(0)
  • 2021-02-06 18:48

    Duff's Device, which is so twisted that it looks like it shouldn't even compile in ISO C:

    int n = (count + 7) / 8;
    switch (count % 8) {
    case 0: do { *to = *from++;
    case 7:      *to = *from++;
    case 6:      *to = *from++;
    case 5:      *to = *from++;
    case 4:      *to = *from++;
    case 3:      *to = *from++;
    case 2:      *to = *from++;
    case 1:      *to = *from++;
               } while (--n > 0);
    }
    
    0 讨论(0)
提交回复
热议问题