https://medium.com/@xeerx.products/best-accurate-way-to-measure-compare-elapsed-time-in-c-8afa09e46d2a