I'm afraid I don't understand the downside of nanoseconds since epoch. What accuracy problems and rounding errors? Are you suggesting that nanoseconds are too coarse of a measurement? You could use picoseconds. No matter what, if you're storing arbitrary real numbers in a fixed number of bits, you're going to have some rounding error. Choose enough bits to make your representation "good enough" or, say, "better than your instruments, anyway". Then use integers. They're simpler and much more efficient than floats/doubles.