相关疑难解决方法(0)

'switch'比'if'快吗?

是一种switch说法实际上比更快的if声明?

我使用/Ox标志在Visual Studio 2010的x64 C++编译器上运行下面的代码:

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

#define MAX_COUNT (1 << 29)
size_t counter = 0;

size_t testSwitch()
{
    clock_t start = clock();
    size_t i;
    for (i = 0; i < MAX_COUNT; i++)
    {
        switch (counter % 4 + 1)
        {
            case 1: counter += 4; break;
            case 2: counter += 3; break;
            case 3: counter += 2; break;
            case 4: counter += 1; break;
        }
    }
    return …
Run Code Online (Sandbox Code Playgroud)

c performance assembly switch-statement jump-table

232
推荐指数
7
解决办法
5万
查看次数

标签 统计

assembly ×1

c ×1

jump-table ×1

performance ×1

switch-statement ×1