only GCC has ##__VA_ARGS__ exension
refactor BENCHMARK macro