←back to thread

1764 points fatihky | 1 comments | | HN request time: 0.001s | source
Show context
jblow ◴[] No.12701702[source]
#9 is especially stupid because it's so context-dependent. SSE4 gives you a popcount instruction, for example, which would be easily the fastest way to do this, if available.
replies(2): >>12702641 #>>12702679 #
greyman ◴[] No.12702679[source]
Yes, but without that instruction, the algorithm mentioned by recruiter is really the quickest way. I coded chess algorithm in the past and this was exactly the method top chess open-source engines used. But imho it is hard to figure that out without prior experience with this problem.
replies(3): >>12703390 #>>12703834 #>>12708561 #
1. gcp ◴[] No.12703834[source]
I coded chess algorithm in the past and this was exactly the method top chess open-source engines used.

Your statement is rather vague in time, but for example Stockfish did certainly use the hardware intrinsic at some point. Some of the top closed source engines were using SWAR approaches mixed with loops (when the expected population is 0).

The answer is very dependent on the exact HW architecture and the cache pressure in the surrounding algorithms.