Emulate clock, times, and getrusage using the monotonic clock.
#241
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Upcoming WASI snapshots omit the
PROCESS_CPUTIMEclock, since WASI hasno inherent concept of processes, and since implementations which don't
use a process for each instance don't have a way to implement it
efficiently.
However,
clock,times, andgetrusageare useful functions, soprovide optional emulated version of them, using the
MONOTONICclock.This means these implementations will measure not just the program's
own CPU time, but also time spent suspended while other programs are
running.
Due to this difference in behavior, put these implementations behind
a flag. Users must pass
-D_WASI_EMULATED_PROCESS_CLOCKand link with-lwasi-emulated-process-clocksto enable them.