To convert namoseconds to seconds, the precision needs to be 10,
and the precision of double is 15, which is enough to use.
On aarch64, double division uses the div instruction, while long
double uses the gcc buildin _divtf3, which has poor performance.
Therefore, use double instead of long double for better performance.
Signed-off-by: Chunsong Feng <fengchunsong@huawei.com>
// cast to double
operator double() const {
- return (double)sec() + ((double)nsec() / 1000000000.0L);
+ return (double)sec() + ((double)nsec() / 1000000000.0f);
}
operator ceph_timespec() const {
ceph_timespec ts;