Bonjour,
A la base j'avais un programme en java que j'ai voulu traduire en C pour gagner en performances.
Ce programme lit un tableau dans un fichier puis pendant le reste du temps le programme fait des opérations élémentaires sur ce tableau et celui-ci grandit peu à peu.
Sous Windows mon programme C est 24% plus rapide que ce même programme en Java. Par contre sous linux le programme C est 2 ou 3 fois plus lent que le même en Java.
C'est sur ce dernier point que j'aimerai avoir d'avantage d'informations, qu'est ce qui peut faire qu'un programme en C est plus lent que l'équivalent en java et cela exclusivement sous linux?
A noter que je recompile bien a chaque fois mon programme sur l'OS concerné avant l''exécution. Mon windows fonctionne sous 32bits et linux est sous 64bits.
En résumer:
Sous Windows XP 32 bits:
- Le programme C fonctionne plus vite que celui en java
Sous SL (linux) 64 bits:
- Le programme C fonctionne moins vite que celui en java
Le programme java sous linux fonctionnant +- 100% plus vite que le même programme sous Windows.
Merci beaucoup pour vos précieuses réponses
Partager