Normalement, tu dois pouvoir atteindre 90% des perfs globales d'un programme optimisé à la mimimine en assembleur, avec un langage compilé.
Surtout sur du code itératif en boucle comme le calcul matriciel.
Au lieu de raconter n'importe quoi, tu ferais mieux d'aller lire les articles sur atlas (http://math-atlas.sourceforge.net/(...)) pour voir à quel niveau d'optimisation on doit aller pour obtenir de bonnes performances en calcul matriciel. Juste une remarque sur ce sujet : pour avoir de bonnes perfs, il faut connaître exactement la structure de la mémoire cache de ton CPU (taille du cache d'instructions, taille du cache mémoire et ceci pour les différents niveaux). Le calcul matriciel n'est pas du tout du code itératif en boucle. Si tu codes un calcul matriciel de façon naïve, tu arrives à un centième (si, si) des performances de quelque chose qui est vraiment bien optimisé.
Sinon, concernant le reste je n'ai pas grand chose à dire si ce n'est que le JIT a encore des progrès à faire, mais qu'en théorie, rien n'empêche de faire aussi bien en Java qu'en C++ par exemple.
[^] # Re: perf compilos java
Posté par boubou . En réponse à la dépêche Microsoft brevette les API de .NET. Évalué à 1.
Surtout sur du code itératif en boucle comme le calcul matriciel.
Au lieu de raconter n'importe quoi, tu ferais mieux d'aller lire les articles sur atlas (http://math-atlas.sourceforge.net/(...)) pour voir à quel niveau d'optimisation on doit aller pour obtenir de bonnes performances en calcul matriciel. Juste une remarque sur ce sujet : pour avoir de bonnes perfs, il faut connaître exactement la structure de la mémoire cache de ton CPU (taille du cache d'instructions, taille du cache mémoire et ceci pour les différents niveaux). Le calcul matriciel n'est pas du tout du code itératif en boucle. Si tu codes un calcul matriciel de façon naïve, tu arrives à un centième (si, si) des performances de quelque chose qui est vraiment bien optimisé.
Sinon, concernant le reste je n'ai pas grand chose à dire si ce n'est que le JIT a encore des progrès à faire, mais qu'en théorie, rien n'empêche de faire aussi bien en Java qu'en C++ par exemple.