2 votos

¿Por qué el ssh-keygen incorporado en M1 Mac funciona significativamente más lento?

No es una cuestión crítica. Sólo tengo curiosidad por saber el motivo.

En mi Macbook Air M1, ssh-keygen puede tardar varios segundos, a veces más de diez segundos o incluso docenas de segundos, en generar un par de claves rsa públicas/privadas. Esto es mucho más lento incluso que mi anticuado dispositivo Android (One Plus 5) con Termux-app.

 time ssh-keygen -f /tmp/tempkey -P "" > /dev/null
ssh-keygen -f /tmp/tempkey -P "" > /dev/null  3.47s user 0.02s system 99% cpu 3.493 total

Sin embargo, ejecutar ssh-keygen bajo Rosetta es significativamente mejor y razonable.

 rm /tmp/tempkey*
 time arch -x86_64 ssh-keygen -f /tmp/tempkey -P "" > /dev/null
arch -x86_64 ssh-keygen -f /tmp/tempkey -P "" > /dev/null  0.82s user 0.30s system 78% cpu 1.420 total

Aquí está la información sobre mi 'ssh-keygen`

 md5sum `which ssh-keygen`
e884655150b3fe3ad676c84357a00b95  /usr/bin/ssh-keygen
 file `which ssh-keygen`
/usr/bin/ssh-keygen: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e]
/usr/bin/ssh-keygen (for architecture x86_64):  Mach-O 64-bit executable x86_64
/usr/bin/ssh-keygen (for architecture arm64e):  Mach-O 64-bit executable arm64e

He intentado compilar tres binarios de fuente para arm64, x86_64 y versión universal (creada a partir de binarios arm64 y x86_64 con lipo ). Todos ellos funcionan significativamente más rápido que el incorporado.

Entonces, ¿por qué el ssh-keygen armado incorporado funciona tan lento?

1voto

y s Puntos 11

Tuve el mismo problema con MacOS Big Sur en el Macbook Air M1.

Aunque no he investigado mucho, he confirmado que el Manzano de OpenSSH también se ejecuta rápidamente si lo construyo yo mismo, y que el problema parece haberse solucionado ahora en MacOS Monterey.

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