私は少しの研究をしましたが、私は主にC++の回答を見ています。私が一番近かったのはthisです。私もthis pageを見ましたが、実際に何も説明していません。Java - インライン化コードには利点がありますか?
2番目のコードを使用すると利点はありますか?パフォーマンスに著しい違いがありますか?メモリはどうですか?何度も繰り返していたら?
今私はこの機能を持っています。単純な例は次のようになり
private static Bitmap resize(Bitmap image, int maxWidth) {
return Bitmap.createScaledBitmap(image, maxWidth, Math.round(image.getHeight() * (float) maxWidth/image.getWidth()), true);
}
:
for(;;) {
String foo = "hello";
Console.print(foo + "world");
}
対私は、コードのこの第二のスニペットを持って、今
private static Bitmap resize(Bitmap image, int maxWidth) {
float widthReducePercentage = ((float) maxWidth/image.getWidth());
int scaledHeight = Math.round(image.getHeight() * widthReducePercentage);
return Bitmap.createScaledBitmap(image, maxWidth, scaledHeight, true);
}
:私はこれの利点は、コードの読みやすあると確信しています
for(;;) {
Console.print("hello" + "world");
}
私はコンパイラがとにかく離れて最適化すると思うので、あなたのテストペアの例は同様に動作するかもしれません。どのような場合でも、インライン化によりコードを読みやすくすることができます。 –
あなたが与えた例については、パフォーマンスに全く違いはありません。このような「最適化」を気にしないでください。何が最善のものであれば何でもしてください。 –
@LouisWasserman Roger that – pandalion98