I am aware that I can benchmark my current environment, that doesn't really cover the general rule question. I cannot benchmark future environments and so would just resort to using a general rule for development. On my current environment std::int16_t is short int and std::int_fast16_t is long int