对C语言中不同类型数据计算速度的测试

我对C语言中各种数据类型的四则运算速度进行了测试。

操作系统:Windows 8.1 专业版 (64位)
编译器:GCC 4.8.1 64-bit Release (未开任何优化)
处理器:Intel Core i7-4702MQ

测试数据选择的都是12345和123

测试源程序:

程序输出:

较为直观的统计表格(时间单位:毫秒):

sizeof + * / %
short 2 36 52 41 347 313
long 4 39 48 36 306 319
long long 8 39 63 39 950 972
float 4 39 39 41 253
double 8 36 36 42 528
long double 16 266 273 280 658

结论:

  • short并不一定比long更快,如果不是空间上的限制,直接选用long就可以。
  • long long在除法和取余运算上显著慢于long。
  • double只有在除法上才显著慢于float。
  • long double各种运算都比double慢。
  • 浮点数计算(float、double)和整数计算(short、long)的速度不相上下。
  • 发表评论

    电子邮件地址不会被公开。 必填项已用*标注