Como regla general, el desarrollo o uso de un sistema operativo de 64 bits, en cualquier contexto, será más lento que el mismo sistema operativo de 32 bits. Debido a que todos los punteros son dos veces más grandes, es mucho más probable que explote la memoria caché y que quepan menos datos en la memoria RAM. Eso ralentiza considerablemente tu aplicación. Normalmente solo usaría sistemas de 64 bits cuando sus aplicaciones necesiten abordar más de 2 a 3 GB de datos simultáneamente, algo muy común en la informática científica y en algunas situaciones de bases de datos, pero por lo demás es extremadamente raro. Esta es la razón por la cual Apple no aboga por la compilación incondicional de aplicaciones PowerPC en modo de 64 bits, por ejemplo: el costo debido a falta de memoria caché y la falta de memoria son lo suficientemente altos como para que 64 bits solo tenga sentido cuando realmente puede aprovechar el Espacio de 64 bits.
Pero x86 v. AMD64, que es lo que realmente estás preguntando (ya que estás hablando de Ubuntu), es una bestia muy especial. AMD64 no solo extiende todos los punteros a 64 bits; arregla muchas, muchas deficiencias en la arquitectura x86, doblando el número de GPR, simplificando las instrucciones para ser más amigable con los diseños de CPU modernos, y más. Debido a esto, en las plataformas AMD64 solo, con frecuencia verá un aumento sustancial en el rendimiento yendo a 64 bits.
Hay otra área donde, en el desarrollo de software, tiene sentido ir a 64 bits: necesita ejecutar muchas máquinas virtuales. Ejecutar un par de máquinas virtuales puede hacerte pasar fácilmente la barrera de memoria de 3 GB del sistema operativo, haciendo que usarlas sea muy doloroso. (Funcionará debido a una tecnología llamada PAE, o Extensiones de direccionamiento paginado, que Intel inventó para cerrar la brecha entre los sistemas de 32 bits y los sistemas de 64 bits, pero el resultado es lento, doloroso para trabajar como desarrollador, y no muy bien soportado en Windows.) Ir a un sistema operativo de 64 bits puede proporcionar enormes beneficios.
Por supuesto, ninguno de los primeros tres puntos afecta a los sistemas basados en x86, ya que x86 proporciona una codificación de instrucciones de longitud variable, con instrucciones entre 1 y 17 bytes. Podría ser incluso más de 17 hoy en día. – Promit