[PATCH v2 1/3] ntdll: Separate NtGetTickCount from get_tick_count64.
Huw Davies
huw at codeweavers.com
Thu May 30 04:34:32 CDT 2019
On Thu, May 30, 2019 at 11:19:21AM +0200, Alexandre Julliard wrote:
> Huw Davies <huw at codeweavers.com> writes:
> > On Thu, May 30, 2019 at 02:47:57AM -0500, Andrew Wesie wrote:
> >> @@ -1529,3 +1529,6 @@
> >> # Filesystem
> >> @ cdecl wine_nt_to_unix_file_name(ptr ptr long long)
> >> @ cdecl wine_unix_to_nt_file_name(ptr ptr)
> >> +
> >> +# Time
> >> +@ cdecl -ret64 wine_get_tick_count64()
> >
> > This will end up causing a performance regression (as well as having
> > to add a Wine specific api to ntdll). I've sent in a patch that
> > essentially duplicates monotonic_counter() in kernel32.
>
> Is the extra function call really so expensive that it's worth the
> duplication?
>
> (Of course it should be calling a public API instead)
Yes, although you need a kernel where CLOCK_MONOTONIC_RAW is handled
by the vDSO to notice the difference (currently there are ~1 of them,
but that's work in progress). In this case it cuts the call cost from
~45ns to ~25ns. This will become even more noticeable if I can get
the kernel guys to accept a CLOCK_MONOTONIC_RAW_COARSE clock.
Huw.
More information about the wine-devel
mailing list