• Daniel Black's avatar
    MDEV-23175: my_timer_milliseconds clock_gettime for multiple platfomrs · 4eec6b99
    Daniel Black authored
    Small postfix to MDEV-23175 to ensure faster option on FreeBSD
    and compatibility to Solaris that isn't high resolution.
    
    ftime is left as a backup in case an implementation doesn't
    contain any of these clocks.
    
    FreeBSD
        $ ./unittest/mysys/my_rdtsc-t
        1..11
        # ----- Routine ---------------
        # myt.cycles.routine          :             5
        # myt.nanoseconds.routine     :            11
        # myt.microseconds.routine    :            13
        # myt.milliseconds.routine    :            11
        # myt.ticks.routine           :            17
        # ----- Frequency -------------
        # myt.cycles.frequency        :    3610295566
        # myt.nanoseconds.frequency   :    1000000000
        # myt.microseconds.frequency  :       1000000
        # myt.milliseconds.frequency  :           899
        # myt.ticks.frequency         :           136
        # ----- Resolution ------------
        # myt.cycles.resolution       :             1
        # myt.nanoseconds.resolution  :             1
        # myt.microseconds.resolution :             1
        # myt.milliseconds.resolution :             7
        # myt.ticks.resolution        :             1
        # ----- Overhead --------------
        # myt.cycles.overhead         :            26
        # myt.nanoseconds.overhead    :         19140
        # myt.microseconds.overhead   :         19036
        # myt.milliseconds.overhead   :           578
        # myt.ticks.overhead          :         21544
        ok 1 - my_timer_init() did not crash
        ok 2 - The cycle timer is strictly increasing
        ok 3 - The cycle timer is implemented
        ok 4 - The nanosecond timer is increasing
        ok 5 - The nanosecond timer is implemented
        ok 6 - The microsecond timer is increasing
        ok 7 - The microsecond timer is implemented
        ok 8 - The millisecond timer is increasing
        ok 9 - The millisecond timer is implemented
        ok 10 - The tick timer is increasing
        ok 11 - The tick timer is implemented
    4eec6b99
my_rdtsc.c 27.2 KB