I am trying to experiment with the parameter -n in Phalanx XXV. I play a match between phalanx0 (phalanx without any options) vs phalanx1 (phalanx -n 512000 -t 131072). Both phalanx0 and phalanx1 are set to make 40 moves per minute in my test, and in fact use nearly all of 1 minute for 40 moves. I notice that phalanx0 gives about 800k NPS on my laptop. I would imagine that NPS would depend only on the hardware, i.e., a given algorithm (say phalanx) with given number of moves per second would do a certain number of NPS on a given machine. So my question is how is NPS controlled by the program?

1 Answer 1


According to the readme.

    -n <nodes per second>                         default: 0 (no limit)
       Limits the speed to weaken the engine and to use less resources: The
       speed of the machine does not matter here, it uses usleep() during
       the search, so with low NPS it does not raise the machine load.
  • Thanks. I understand now. I just did 'man usleep', and it simply suspends the execution of the program.
    – chesskobra
    Jul 26, 2022 at 15:42
  • Doesn't usleep only give a minimum time to sleep? does it actually calibrate NPS?
    – qwr
    Jul 26, 2022 at 17:20
  • Is it reasonable to assume that the same program running on two different hardwares at the same NPS (and keeping other parameters same) would play at roughly the same level?
    – chesskobra
    Jul 27, 2022 at 2:21
  • @chesskobra yes, but you have to test it, as the nps may not be perfectly the same. At one point, it may stop searching after 400000 or 390000 or 395000. Depends on how this feature is implemented by the author.
    – ferdy
    Jul 27, 2022 at 3:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.