我经常看到像 这个, , 在哪里 Int64 是32位平台上的绝对性能杀手。我的问题现在是:

如果我需要一个特定的单词长度来完成我的任务(就我的情况而言)是 Int64 在64位平台上有效,还是它仍然会使用c-calls?以及效率如何转换 Int64 到一个 Int?

有帮助吗?

解决方案

在64位系统INT64上 应该 很好,我不确定。

更重要的是,如果您正在做加密或随机创建您 必须 使用算法说要使用的数据类型,也要小心签名。如果您不这样做,您的结果可能会错误,这可能意味着您的加密编号不是安全的,或者您的随机数生成器并不是真正的随机性(RNG很难,许多看起来随机但并不是)。

对于任何其他类型的工作使用整数,您可以在任何地方,甚至更好,可以使用积分类型类使您的程序多态性。然后,如果您认为程序要慢,则应在尝试加快速度时确定应该集中精力的内容。如果您使用整数类型类别的整数更改,则很容易。 Haskell应该足够聪明,可以专门使用(大多数)使用多态性来避免开销的代码。

其他提示

有关64位性能的有趣文章:

我的代码不是在64位上更快吗???

正如文章所述,大瓶颈不是处理器,而是缓存和内存I/O。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top