Le code Java s'exécute plus rapidement sur Mac avec un processeur plus lent que sur mon ordinateur Windows?


Je n'ai trouvé aucune réponse à cela, alors j'ai pensé que je demanderais ici.

J'ai un MacBook avec un processeur Intel(R) Core(TM) i7-4870HQ @ 2.50 GHz et un ordinateur Windows avec un processeur i7-4790K 4ghz.

J'ai écrit du code Java qui exécute 6 threads sur les deux machines avec une tâche longue en cours d'exécution itérant sur une ArrayList avec une boucle for normale qui est la même à chaque fois sauf à chaque fois que la ArrayList devient un peu plus courte donc le temps devient naturellement plus court à chaque fois la méthode fonctionne. Cependant, en l'exécutant sur mon MacBook et mon ordinateur Windows, il y a une différence notable dans le temps qu'il leur faut pour exécuter le code et mon MacBook gagne à chaque fois avec environ 1 minute ou plus sur les 12-13 minutes environ nécessaires pour exécuter la méthode (à ce stade).

Aucun des processeurs ne fonctionne à 100% et les deux ordinateurs ont beaucoup de RAM inutilisée.

J'espère que vous pourrez m'aider et me faire savoir s'il existe un moyen de fournir plus d'informations. :)

Author: M. Kahlen, 2017-02-15

1 answers

Je commencerais par vérifier les spécifications de la mémoire sur chaque machine. En règle générale, Apple a tendance à mettre la RAM la plus rapide possible dans ses machines.

Si ce n'est pas la RAM, vous devriez vérifier que la JVM est configurée de la même manière: si l'espace de tas est plus petit sur le PC Windows, il dépense probablement cette minute supplémentaire de collecte des ordures.

Autre que cela, cela doit être quelque chose comme le changement de contexte plus rapide sur le Mac, mais je n'ai jamais entendu personne suggérer que OS X est intrinsèquement plus rapide que Windows.

 1
Author: JeremyP, 2017-02-15 14:35:27