相关疑难解决方法(0)

`usize`和`u32`有什么区别?

文档说的usize

指针大小的无符号整数的操作和常量.

在大多数情况下,我可以替换usize,u32没有任何反应.所以我不明白为什么我们需要两种类似的类型.

rust

50
推荐指数
2
解决办法
1万
查看次数

长整数例程可以从SSE中受益吗?

我还在研究C++中任意长整数的例程.到目前为止,我已经为64位Intel CPU实现了加/减和乘法.

一切正常,但我想知道我是否可以通过使用SSE来加快速度.我浏览了SSE文档和处理器指令列表,但我找不到任何我认为可以使用的内容,原因如下:

  • SSE有一些整数指令,但大多数指令处理浮点.看起来它不是设计用于整数(例如,是否有较小的整数比较?)

  • SSE的想法是SIMD(相同的指令,多个数据),因此它提供了2或4个独立操作的指令.另一方面,我希望有一个像128位整数加(128位输入和输出)的东西.这似乎不存在.(但是?在AVX2中可能?)

  • 整数加法和减法既不处理输入也不处理输出.因此,手动操作非常麻烦(因而也很慢).

我的问题是:我的评估是正确的还是有什么我忽略的?长整数例程可以从SSE中受益吗?特别是,它们可以帮助我编写更快的添加,子或mul例程吗?

performance integer sse bignum arbitrary-precision

19
推荐指数
1
解决办法
3773
查看次数

如果体系结构是32位还是64位,如何检查Rust?

如果有条件检查处理器是32位还是64位?我正在寻找类似于#cfg[x86]或等的配置检查cfg[x64].

processor rust

6
推荐指数
2
解决办法
2161
查看次数