On Thu, May 30, 2019 at 11:19:21AM +0200, Alexandre Julliard wrote:
Huw Davies huw@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.