Microsoft Visual Studio 2013的不同浮点模型选项(/ fp:精确对比/ fp:快)的计算开销

时间:2014-03-25 15:15:23

标签: c++ visual-studio-2013 precision floating-point-precision computation

我已经在网上搜索了有关Microsoft Visual Studio 2013中不同浮点模型选项的计算开销的文档,但到目前为止,我的搜索一直没有结果。我想知道的是,对于不同的数学运算,/ fp:精确度比/ fp更快,计算成本是多少?一些示例操作(显然,这些不是我正在使用的实际操作,但只是为了清楚起见,我在几分钟内编写的示例,代码可能不是很好):

对于所有例子:

double array1[100]; // then fill this with a bunch of numbers somehow
double array2[100]; // then fill this with a different bunch of numbers somehow

示例1(添加一堆随机双打):

double sum = 0;
for (int i = 0; i < 100; i++)
{
  sum += array1[i];
}

示例2(减去一堆随机双打):

double diff = 0;
for (int i = 0; i < 100; i++)
{
  diff -= array1[i];
}

示例3(乘以两个双打):

double prod;
for (int i = 0; i < 100; i++)
{
  prod = array1[i] * array2[i];
}

示例4(除以两个双打):

double quot;
for (int i = 0; i < 100; i++)
{
  quot = array1[i] / array2[i];
}

其他示例包括这些操作的组合。有没有办法可以使用Microsoft Visual Studio 2013通过运行浮点模型设置为/ fp:precise和/ fp:fast的相同代码来确定计算开销?

以下链接可能会有所帮助:

http://msdn.microsoft.com/en-us/library/aa289157%28v=vs.71%29.aspx#floapoint_topic3

PS:我知道使用/ fp:fast有风险(请参阅我在Possible loss of precision between two different compiler configurations的先前问题)。我想要确定的是,如果我将浮点模型从/ fp:precise切换到/ fp:fast,我可以期待看到额外的计算费用。

0 个答案:

没有答案