Esa es una forma divertida de expresarlo. El tiempo de ejecución no tiene mucho que ver con eso. La CPU está diseñada para procesar enteros de 32 bits, por lo que son los más eficientes de usar.
En un entorno de 64 bits, nuevamente depende de la CPU. Sin embargo, en las CPU x86 al menos (que, según mi leal saber y entender, es el único lugar donde se ejecuta .NET), los enteros de 32 bits siguen siendo los predeterminados. Los registros simplemente se han expandido para que puedan ajustarse a un valor de 64 bits. Pero 32 sigue siendo el predeterminado.
Por lo tanto, prefiero los enteros de 32 bits, incluso en el modo de 64 bits.
Editar: "predeterminado" probablemente no sea la palabra correcta. La CPU solo admite una serie de instrucciones, que definen qué tipos de datos puede procesar y cuáles no. No hay un "default" allí. Sin embargo, generalmente hay un tamaño de datos que la CPU está diseñada para procesar de manera eficiente. Y en x86, en el modo de 32 y 64 bits, eso es enteros de 32 bits. Los valores de 64 bits generalmente no son más caros, pero sí significan instrucciones más largas. También creo que al menos los Pentium 4 de 64 bits fueron significativamente más lentos en operaciones de 64 bits, aunque en CPU recientes, esa parte no debería ser un problema. (Pero el tamaño de la instrucción aún puede ser)
Los valores más pequeños que 32 bits son algo más sorprendentes. Sí, hay menos datos para transferir, lo cual es bueno, pero la CPU aún captura 32 bytes a la vez. Lo que significa que tiene que enmascarar parte del valor, por lo que estos se vuelven aún más lentos.
Pregunta de interés – juan