static Timing of(final InstantSource clock) {
		requireNonNull(clock);
		return clock instanceof NanoClock
			? new Timing(System::nanoTime)
			: new Timing(() -> nanos(clock));
	}
Return a new timer object which uses the given clock for measuring the
execution time.

@param clock the clock used for measuring the execution time
@return a new timer
jenetics/src/main/java/io/jenetics/engine/Timing.java