我需要执行128位的64位师在锈。x86-64 ISA包含用于此目的的本机DIV指令。但是,我编译的测试代码不使用此指令。测试代码: assert!相反,通过__udivti3执行128位除法的低效128位。这可能是因为如果商数不适合64位,则DIV指令会导致CPU异常。然而,就我的情况而言,这是不可能的: hi <
当两个64位数乘以两个32位数时,我正在测量锈蚀的性能。回想一下,64乘法的结果是128数字,32位乘法的结果是64位数。我预计64位乘法至少比另一位慢2倍。主要是因为没有本地128位支持,并且要将两个64位数相乘,您可以将它们分为32位、上下两位。然而,当我运行测试时,结果发现两者的性能都是相似的。* test_num as u128;
elapsed = ela