¿El comando de clasificación de Unix tarda mucho más dependiendo de dónde se ejecute ?! (más rápido desde ProcessBuilder en el programa ejecutado desde IDE, más lento desde la terminal)

Tengo un programa Java que utiliza ProcessBuilder para llamar al comando de ordenación de Unix. Cuando ejecuto este código dentro de mi IDE (intelliJ) solo toma alrededor de un segundo ordenar 500,000 líneas. Cuando lo empaqueto en un jar ejecutable, y lo ejecuto desde el terminal, toma aproximadamente 10 segundos. ¡Cuando ejecuto el comando sort desde la terminal, me toma 20 segundos!

¿Por qué la gran diferencia en el rendimiento y de alguna manera puedo hacer que el jar se ejecute con el mismo rendimiento? El entorno es OSX 10.6.8 y java 1.6.0_26. La parte inferior de la página del manual de ordenación dice "sort 5.93 November 2004"

El comando que está ejecutando es:

sort -t'    ' -k5,5f -k4,4f -k1,1n /path/to/imput/file -o /path/to/output/file

enga en cuenta que cuando ejecuto sort desde el terminal, necesito escapar manualmente del delimitador de tabulación y usar el argumento-t$'\t' en lugar de la pestaña real (que puedo pasar a ProcessBuilder).

Mirando comops todo parece igual excepto cuando se ejecuta desde IDE, el comando de clasificación tiene un TTY de ?? en lugar de ttys000, pero deesta pregunt No creo que eso deba hacer la diferencia. ¿Quizás BASH me está frenando? ¡Me estoy quedando sin ideas y quiero cerrar esta brecha de rendimiento 20x!