Estoy ejecutando un programa de biología computacional NUPACK, con la misma entrada, en dos Macbooks Pro ligeramente diferentes:
- El primero es 10.14, 2017 13 pulgadas, 2.5 GHz Intel Core i7, 16 GB 2133 MHz LPDDR3. el programa utiliza 99,9% de CPU, 1 hilo y 7 MB de RAM, se ejecuta en 26 segundos. 8 MB de memoria real, 6 MB de memoria privada
- El segundo es 10.14.1, 2018 de 15 pulgadas con barra mágica, Intel Core i7 a 2.6 GHz, 32GB RAM 2400 MHz DDR4. Este no podía siquiera terminar de ejecutar el script en 20 minutos, por lo que es al menos 60 veces más lento. El programa utiliza 1 subproceso, 99% de CPU, 2 MB de memoria real, 800 KB de memoria privada
El programa es CMake compilado (cmake instalado a través de homebrew). Lo único diferente es que en la segunda máquina, el usuario primero intentó instalar CMake desde el binario precompilado, pero luego lo instalé a través de homebrew
. He reinstalado homebrew
y CMake
, y he vuelto a compilar el programa.
En ambas máquinas, el programa se ejecuta correctamente sin parámetros o con parámetros incorrectos (arroja información de error / ayuda), por lo que probablemente no sea un error de compilación. El proceso de instalación fue idéntico y no se utilizaron indicadores / modificadores especiales.
En ambos sistemas, el archivo de entrada se encuentra en el sistema de archivos local (SSD), en la carpeta Descargas. Ambos tienen sistema de archivos APFS (cifrado). Ejecuto programas usando un usuario root (pero no sudo ...
)
¿Qué puedo hacer para solucionar este problema? Ambas computadoras portátiles se ejecutan en un entorno de software muy similar (computadoras portátiles compradas en la universidad con Sophos antivirus) y puedo ver muy pocas diferencias entre dos.
El programa no está en Sandbox en ambas computadoras
Actualizar con datos del proceso de muestreo:
Success y
Una cosa que parece importante son estos errores:
+ 51 fgets (in libsystem_c.dylib) + 42 [0x7fff631ed7ec]
+ ! 27 flockfile (in libsystem_c.dylib) + 31 [0x7fff631ece6c]
+ ! : 14 _pthread_mutex_lock_init_slow (in libsystem_pthread.dylib) + 37 [0x7fff633561f9]
+ ! : | 14 _pthread_mutex_check_init_slow (in libsystem_pthread.dylib) + 21,4,... [0x7fff6335623d,0x7fff6335622c,...]
+ ! : 7 pthread_mutex_lock (in libsystem_pthread.dylib) + 0,120 [0x7fff6335614b,0x7fff633561c3]
+ ! : 6 _pthread_mutex_lock_init_slow (in libsystem_pthread.dylib) + 42,6,... [0x7fff633561fe,0x7fff633561da,...]
+ ! 7 flockfile (in libsystem_c.dylib) + 36 [0x7fff631ece71]
+ ! : 7 __error (in libsystem_kernel.dylib) + 0,23 [0x7fff6329f55d,0x7fff6329f574]
+ ! 7 flockfile (in libsystem_c.dylib) + 10,42,... [0x7fff631ece57,0x7fff631ece77,...]
+ ! 5 DYLD-STUB$$__error (in libsystem_c.dylib) + 0 [0x7fff63233218]
+ ! 5 flockfile (in libsystem_c.dylib) + 15 [0x7fff631ece5c]
+ ! 5 __error (in libsystem_kernel.dylib) + 0,23 [0x7fff6329f55d,0x7fff6329f574]
¿Qué significa este error? ¿Puedo usarlo para depurar?
+ ! 3 funlockfile (in libsystem_c.dylib) + 15 [0x7fff631ecec4]
+ ! 3 __error (in libsystem_kernel.dylib) + 23,0 [0x7fff6329f574,0x7fff6329f55d]
Actualización 2
Observación interesante: en la segunda máquina (FAIL) no puedo hacer que el programa se ejecute como sudo program file_name
. ¡Nunca comienza el proceso del programa!