Is it inefficient to use a macro to calculate a constant each time? I just realized I might have a big inefficiency in my program.

Basically I frequently need to calculate the volume of a cube, who's edge length is usually passed in as a variable.

So I created a macro which basically just writes it out as 

    ((edgeLength) * (edgeLength) * (edgeLength))

everytime.

Is this inefficient because it's repetitively calculated at runtime? What is an alternative?

Is it more efficient to store the value in a variable?  My program is fairly small, would it be acceptable to have such a constant as a global variable, or should I pass it into each function that uses it?