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>
(cherry picked from commit
58753cf50e89cc3d7169447aa83d13cd3a8c0347)
Signed-off-by: luo rixin <luorixin@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;