0 votos

Inconvenientes de aplicar Rosetta a todas las aplicaciones

En los Macbooks con chip M1 (arm64) , Rosetta2 es un traductor de Intel x86 a chip de silicio M1.

Para instalar Rosetta en su Macbook, introduzca en el Terminal

softwareupdate --install-rosetta

Cuando abres una aplicación con "Get Info", puedes marcar "Open using Rosetta"

enter image description here

Ahora estas aplicaciones se ejecutarán bajo una emulación de procesador Intel.

En la aplicación "Activity Monitor", en el tipo , el proceso iTerm2 con Rosetta marcado es Intel. El iTerm2 desmarcado es Apple. En términos de rendimiento, no noto nada.

enter image description here

¿Cuáles son los inconvenientes de aplicar Rosetta a cualquier aplicación?

  • para una aplicación compilada para un chip arm64
  • para una aplicación compilada para un chip Intel x86

2 votos

Sigue consumiendo más recursos y energía, sólo que no te das cuenta porque iTerm no es una aplicación que consuma muchos recursos.

3voto

benwiggy Puntos 8

La mayoría de las aplicaciones con código nativo arm64 se suministran como binarios universales: contienen tanto código arm64 como Intel. Cuando configuras una aplicación arm64 para que se abra usando Rosetta, sólo estás usando el segmento de código Intel.

Así que no hay diferencia entre una aplicación que sólo tiene código Intel, que se ejecuta en Rosetta, y una aplicación con ambas arquitecturas que está configurada para ejecutarse en Rosetta.

Los principales inconvenientes del uso de Rosetta son el rendimiento y la eficiencia. El código ARM se ejecuta más rápido y consume menos energía.

1 votos

¿No hay aplicaciones en las que la versión ARM se comporte de forma ligeramente diferente a la versión Intel? (Por ejemplo, la versión ARM de HomeBrew tiene por defecto un directorio de instalación completamente diferente).

0 votos

@gidds No estoy seguro de que Homebrew cuente como 'app' :lol:

0 votos

Está claro que no, de lo contrario no habría tenido que hacer la pregunta :-)

0voto

limits Puntos 101

Los principales inconvenientes de ejecutar siempre las aplicaciones en Rosetta (traducido a ARM desde Intel) son los siguientes:

  • Cuando se ejecuta el binario por primera vez, hay un retraso para traducir el binario a ARM nativo. Esto ocurre continuamente si la aplicación Intel utiliza código Just In Time.

  • Ejecutar la versión traducida puede no ser tan eficiente como una aplicación nativa.

  • Sin duda, consumirá más energía.

  • Rosetta traduce todas las instrucciones x86_64, pero no admite la ejecución de algunos conjuntos de instrucciones y características de procesador más recientes, como las instrucciones vectoriales AVX, AVX2 y AVX512. Si incluye estas instrucciones más nuevas en su código, ejecútelas sólo después de verificar que están disponibles. Por ejemplo, para determinar si las instrucciones vectoriales AVX512 están disponibles, utilice la función sysctlbyname para comprobar el atributo hw.optional.avx512f.

  • Rosetta no genera excepciones de punto flotante. Aunque se podría pensar que esto sólo afectaría a las operaciones en coma flotante en Lisp, en realidad también afecta a la aritmética racional y, posiblemente, a los bignos. (Si ejecuta el conjunto de pruebas ANSI, obtendrá un gran número de fallos en sus pruebas de aritmética).

  • En el caso de algunas cosas como Homebrew, la versión de Intel puede buscar archivos de soporte de aplicaciones en un directorio diferente.

0 votos

@gidds Creo que estas son todas las advertencias conocidas actualmente para ejecutar aplicaciones en Rosetta.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X