Skip to content

Commit a361885

Browse files
committed
Avoid roundoff errors
1 parent 044d061 commit a361885

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

src/qcodes/dataset/measurements.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from inspect import signature
1818
from itertools import chain
1919
from numbers import Number
20-
from time import perf_counter
20+
from time import perf_counter, perf_counter_ns
2121
from typing import TYPE_CHECKING, Any, TypeAlias, TypeVar, cast
2222

2323
import numpy as np
@@ -99,7 +99,7 @@ def __init__(
9999
) -> None:
100100
self._span = span
101101
self._dataset = dataset
102-
self._add_result_time = 0.0
102+
self._add_result_time_ns = 0
103103
if (
104104
DataSaver.default_callback is not None
105105
and "run_tables_subscription_callback" in DataSaver.default_callback
@@ -209,7 +209,7 @@ def add_result(self, *result_tuples: ResType) -> None:
209209
its type.
210210
211211
"""
212-
start_time = perf_counter()
212+
start_time = perf_counter_ns()
213213

214214
parameter_results: list[ParameterResultType] = [
215215
self._coerce_result_tuple_to_parameter_result_type(result_tuple)
@@ -280,7 +280,7 @@ def add_result(self, *result_tuples: ResType) -> None:
280280
if perf_counter() - self._last_save_time > self.write_period:
281281
self.flush_data_to_database()
282282
self._last_save_time = perf_counter()
283-
self._add_result_time += perf_counter() - start_time
283+
self._add_result_time_ns += perf_counter_ns() - start_time
284284

285285
def _unpack_arrayparameter(
286286
self, partial_result: ResType
@@ -738,8 +738,8 @@ def __exit__(
738738
with DelayedKeyboardInterrupt(
739739
context={"reason": "qcodes measurement exit", "qcodes_guid": self.ds.guid}
740740
):
741-
add_result_time = self.datasaver._add_result_time
742-
self._span.set_attribute("qcodes_add_result_time", add_result_time)
741+
add_result_time = self.datasaver._add_result_time_ns
742+
self._span.set_attribute("qcodes_add_result_time_ms", add_result_time / 1e6)
743743
self.datasaver.flush_data_to_database(block=True)
744744

745745
# perform the "teardown" events

0 commit comments

Comments
 (0)