gpt4 book ai didi

c# - 确定性应用程序中的偏差

转载 作者:行者123 更新时间:2023-11-30 01:29:33 25 4
gpt4 key购买 nike

我目前正在开发一个用 C++ 和 C# 编写的(遗留)程序;它执行一些重量级计算,但应该是完全确定的。即相同的输入将产生相同的输出...问题是 2 次运行(在同一台计算机上,使用相同的编译可执行文件)产生略有不同的输出。

应用程序读取和写入 SQL 服务器数据库(它具有对数据库的唯一访问权限,因此不应有其他任何东西干扰数据库值)。

运行之间唯一明显的区别是它们都被分配了一个唯一的名称(只是一个字符串变量)。

代码中没有随机对象,所有循环运行预定的迭代次数或直到满足条件,它们不会运行一定的时间。有少量的多-threading,我确信它是线程安全的,但我会自己检查一下。

是否有任何其他明显的事情我应该寻找,这会导致这种异常行为?

最佳答案

我想到了两个想法:

  • 未初始化的变量。
  • 浮点运算不是关联的。

后一点会在多线程下产生机器精度水平差异。不过,它更有可能是未初始化的变量!

关于c# - 确定性应用程序中的偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5747072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com