branchless
发文者的范例程式已经简化到很容易理解:先产生一个 32kyt
发文者的范例程式已经简化到很容易理解:先产生一个 32Kytes 的 array,然后里面塞乱数。 接下来把每个 byte 当作 unsigned char,要找出这个 array 里面所有值大于等于 128 的元素,把这些元素的值加起来。 原发文者发现,如果先把这个 array 排过再计算,十万次只要 1.93 秒,但如果不排就直接计算需要 11.54 秒,时间差不多是原来的六倍