The code is here. C Mozilla Pastebin - collaborative debugging tool
I'm writing heap sort as an inline function and a macro with the same implementation. In my test, the inline function runs much slower than the macro (the macro costs 1.0 sec and the function costs 5.0 sec, with gcc -O3).
Is the inline funcion always sucking like this?