lichess-org / api

Lichess API documentation and examples
https://lichess.org/api
GNU Affero General Public License v3.0
414 stars 140 forks source link

65535 threads should be enough for anyone #291

Open joshka opened 7 months ago

joshka commented 7 months ago

I'd suggest changing max_threads on the external engine api from 65536 to 65535

The max_threads parameter on the external_engines API methods takes a value 1..65536. 65536 is one more than the max of an unsigned 16 bit int, which means that max threads parameters in API wrappers need to use u32 rather than u16. While this isn't really a problem, it's one that might cause unexpected runtime errors in libraries built around the API.

More generically, if there are other places where counts like this are configured that align with type boundaries, it might be worthwhile choosing (2^8-1), (2^16-1), (2^32 -1) instead of those powers of 2.

(Moved from https://github.com/lichess-org/lila/issues/14014)

*yes the title is TFIC ;)