コードのパフォーマンスについて質問があります。Cにポイントの構造体があるとしましょう:
typedef struct _CPoint
{
float x, y;
} CPoint;
構造体を使用する関数。
float distance(CPoint p1, CPoint p2)
{
return sqrt(pow((p2.x-p1.x),2)+pow((p2.y-p1.y),2));
}
この関数を#defineに置き換えるのが賢明なアイデアかどうか疑問に思いました。
#define distance(p1, p2)(sqrt(pow((p2.x-p1.x),2)+pow((p2.y-p1.y),2)));
関数のオーバーヘッドがないため、より高速になると思います。パフォーマンスを向上させるために、プログラム内の他のすべての関数にこのアプローチを使用する必要があるかどうか疑問に思っています。だから私の質問は:
コードのパフォーマンスを向上させるために、すべての関数を#defineに置き換える必要がありますか?