First runtime performance benchmarks.

Review by @gzm0
All the macros need explicit return types (although not all of them are actually needed IMHO). You can call the implementation directly in many cases.