J'ai pas dis que j'allais faire plus performant que le gc de Java, j'ai juste dis que d'avoir à gérer soi-même sa mémoire permet de se rendre compte que rien n'est gratuit. Ensuite quand on fait du Java, on peut réfléchir à deux fois avant d'allouer des objets à tout va plutôt que de réutiliser ce qu'on peut.
J'aime beaucoup Java, je code majoritairement en Java, mais je remarque aussi que les codes Java fait par des gens qui n'ont jamais fait de "bas niveau" (C/C++) sont en général moins performants, avec plein d'allocations inutiles et de réfléxions du genre "bah c'est le GC qui va gérer donc on s'en fout".
Je suis aussi d'accord sur ta remarque concernant les "early optimizations". Par contre, c'est mieux d'être capable d'écrire directement du code plutôt performant qu'un truc qu'on va de toute façon devoir revoir quand on fait du profiling.
Je conseille d'ailleurs la lecture de cette page concernant l'optimization pour Android : http://developer.android.com/guide/practices/design/performa(...)
C'est typiquement le genre de truc qui peut ressembler à des économies de bout de chandelle, pourtant quand on développe une application avec beaucoup de calcul (genre un jeu) qui tourne sur un téléphone malgré tout pas si véloce (500mhz-1ghz), on voit la différence.
[^] # Re: de quoi tu te plaint ?
Posté par Jux . En réponse au journal la Geste de l'Estudiant.. Évalué à 1.
J'aime beaucoup Java, je code majoritairement en Java, mais je remarque aussi que les codes Java fait par des gens qui n'ont jamais fait de "bas niveau" (C/C++) sont en général moins performants, avec plein d'allocations inutiles et de réfléxions du genre "bah c'est le GC qui va gérer donc on s'en fout".
Je suis aussi d'accord sur ta remarque concernant les "early optimizations". Par contre, c'est mieux d'être capable d'écrire directement du code plutôt performant qu'un truc qu'on va de toute façon devoir revoir quand on fait du profiling.
Je conseille d'ailleurs la lecture de cette page concernant l'optimization pour Android :
http://developer.android.com/guide/practices/design/performa(...)
C'est typiquement le genre de truc qui peut ressembler à des économies de bout de chandelle, pourtant quand on développe une application avec beaucoup de calcul (genre un jeu) qui tourne sur un téléphone malgré tout pas si véloce (500mhz-1ghz), on voit la différence.