Misc #14431
closed[PATCH] thread.c: remove FP from time calculations
Description
Pretty straightforward. Will commit soonish.
In the future, I may move towards timespec instead of timeval
since it's more accurate and might result in fewer conversions
with clock_gettime being favored.
thread.c: remove FP from time calculations
Floating-point can lead to inaccurate conversions and timeouts,
in turn causing wasted CPU cycles. Use timeval_* functions to
perform fixed-point arithmetic, instead. This even results in
a small code reduction.
Also available via git (generated with "git request-pull"):
The following changes since commit 7fdb4099cd6889d29fb07f9b41dbd788d1164031:
array.c: remove rb_ary_frozen_p / Array#frozen? (2018-02-01 09:20:38 +0000)
are available in the Git repository at:
git://80x24.org/ruby.git thread-nofp
for you to fetch changes up to 0b7661ad2e339bf2b95be0ed92d3674870c964d4:
thread.c: avoid FP in C-API time calculations (2018-02-02 05:16:05 +0000)
Eric Wong (4):
thread.c (rb_thread_terminate_all): eliminate double2timeval call
thread.c: extract timeval_sub from timeval_update_expire
thread.c: avoid FP for Thread#join
thread.c: avoid FP in C-API time calculations
thread.c | 188 +++++++++++++++++++++++++++++++--------------------------------
1 file changed, 91 insertions(+), 97 deletions(-)
And broken out patches:
https://80x24.org/spew/20180202051837.14192-2-e@80x24.org/raw
https://80x24.org/spew/20180202051837.14192-3-e@80x24.org/raw
https://80x24.org/spew/20180202051837.14192-4-e@80x24.org/raw
https://80x24.org/spew/20180202051837.14192-5-e@80x24.org/raw
Files