當前位置: 首頁>>代碼示例>>Python>>正文


Python time.time_ns方法代碼示例

本文整理匯總了Python中time.time_ns方法的典型用法代碼示例。如果您正苦於以下問題:Python time.time_ns方法的具體用法?Python time.time_ns怎麽用?Python time.time_ns使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在time的用法示例。


在下文中一共展示了time.time_ns方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: _register_output_transfer_id_map_save_at_exit

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def _register_output_transfer_id_map_save_at_exit(presentation: pyuavcan.presentation.Presentation) -> None:
        # We MUST sample the configuration early because if this is a redundant transport it may reset its
        # reported descriptor and local node-ID back to default after close().
        local_node_id = presentation.transport.local_node_id
        descriptor = presentation.transport.descriptor

        def do_save_at_exit() -> None:
            if local_node_id is not None:
                file_path = _get_output_transfer_id_file_path(local_node_id, descriptor)
                tmp_path = f'{file_path}.{os.getpid()}.{time.time_ns()}.tmp'
                _logger.debug('Output TID map save: %s --> %s', tmp_path, file_path)
                with open(tmp_path, 'wb') as f:
                    pickle.dump(presentation.output_transfer_id_map, f)
                # We use replace for compatibility reasons. On POSIX, a call to rename() will be made, which is
                # guaranteed to be atomic. On Windows this may fall back to non-atomic copy, which is still
                # acceptable for us here. If the file ends up being damaged, we'll simply ignore it at next startup.
                os.replace(tmp_path, file_path)
                try:
                    os.unlink(tmp_path)
                except OSError:
                    pass
            else:
                _logger.debug('Output TID map NOT saved because the transport instance is anonymous')

        atexit.register(do_save_at_exit) 
開發者ID:UAVCAN,項目名稱:pyuavcan,代碼行數:27,代碼來源:node.py

示例2: timethis

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def timethis(func):
    @wraps(func)
    def timed_func(*args, **kwargs):

        if TIMING:
            if sys.version_info >= (3,7):
                _t = lambda: time.time_ns() / 1000000
            else:
                _t = lambda: time.time() * 1000
            start = _t()
            r = func(*args, **kwargs)
            millisec = _t() - start
            sec = millisec / 1000
            if sec > 1.0:
                print("[timing] %s took %f seconds (%f milliseconds)." % (func.__name__, sec, millisec))
            else:
                print("[timing] %s took %f milliseconds." % (func.__name__, millisec))
            return r
        else:
            return func(*args, **kwargs)

    return timed_func 
開發者ID:angr,項目名稱:angr,代碼行數:24,代碼來源:timing.py

示例3: _make_timestamp

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def _make_timestamp(self, **kwargs):  # pylint: disable=no-self-use
        """Make timestamp.

        Keyword Args:
            **kwargs: Arbitrary keyword arguments.

        Returns:
            Tuple[int, int]: Second and microsecond/nanosecond value of timestamp.

        """
        nanosecond = kwargs.get('nanosecond', False)         # nanosecond-resolution file flag
        timestamp = kwargs.get('timestamp', time.time())     # timestamp
        ts_sec = kwargs.get('ts_sec', int(timestamp))        # timestamp seconds
        if py37 and nanosecond:
            _default_ts_usec = time.time_ns() % 1000000000
        else:
            _default_ts_usec = int((timestamp - ts_sec) * (1000000000 if nanosecond else 1000000))
        ts_usec = kwargs.get('ts_usec', _default_ts_usec)    # timestamp microseconds
        return ts_sec, ts_usec 
開發者ID:JarryShaw,項目名稱:PyPCAPKit,代碼行數:21,代碼來源:frame.py

示例4: now

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def now():
    '''
    Get the current epoch time in milliseconds.

    This relies on time.time(), which is system-dependent in terms of resolution.

    Examples:
        Get the current time and make a row for a Cortex::

            tick = now()
            row = (someiden, 'foo:prop', 1, tick)
            core.addRows([row])

    Returns:
        int: Epoch time in milliseconds.
    '''
    return time.time_ns() // 1000000 
開發者ID:vertexproject,項目名稱:synapse,代碼行數:19,代碼來源:common.py

示例5: get_fps_info

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def get_fps_info(self):
        command = "dumpsys gfxinfo " + self.task.pid + " | grep 'Total frames'"
        dirs = self.task.output + "/fps_stats/"
        file_name = "fps_" + self.task.device + "_" + self.task.applicationid + "_" + self.task.version_name + "_" + self.task.name
        field_names = [self.TIME, self.FPS]
        writer = utils.get_csv_writer(dirs, file_name, field_names)
        while self.is_running:
            if self.is_first:
                self.last_time = time.time_ns()
                self.last_fps = int(re.findall("\d+", self.task.d.adb_shell(command))[0])
                self.is_first = False

            current_time = time.time_ns()
            current_fps = int(re.findall("\d+", self.task.d.adb_shell(command))[0])
            time_delta = (current_time - self.last_time) / 1000000000.0
            fps_delta = current_fps - self.last_fps
            fps = fps_delta / time_delta
            self.last_time = current_time
            self.last_fps = current_fps
            writer.writerow({self.TIME: self.get_index(), self.FPS: "{:.2f}".format(fps)})
            self.count += 1
            time.sleep(self.task.interval) 
開發者ID:Rain0193,項目名稱:android-catcher,代碼行數:24,代碼來源:info.py

示例6: test_time_ns_type

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def test_time_ns_type(self):
        def check_ns(sec, ns):
            self.assertIsInstance(ns, int)

            sec_ns = int(sec * 1e9)
            # tolerate a difference of 50 ms
            self.assertLess((sec_ns - ns), 50 ** 6, (sec, ns))

        check_ns(time.time(),
                 time.time_ns())
        check_ns(time.monotonic(),
                 time.monotonic_ns())
        check_ns(time.perf_counter(),
                 time.perf_counter_ns())
        check_ns(time.process_time(),
                 time.process_time_ns())

        if hasattr(time, 'thread_time'):
            check_ns(time.thread_time(),
                     time.thread_time_ns())

        if hasattr(time, 'clock_gettime'):
            check_ns(time.clock_gettime(time.CLOCK_REALTIME),
                     time.clock_gettime_ns(time.CLOCK_REALTIME)) 
開發者ID:bkerler,項目名稱:android_universal,代碼行數:26,代碼來源:test_time.py

示例7: send_who_to_robot

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def send_who_to_robot(self, robotident: RobotIdentifier, who: Dict) -> None:
        """Send the warehouse order to a robot."""
        labels = {}
        # Robot name and warehouse order CR names must be lower case
        labels['cloudrobotics.com/robot-name'] = robotident.rsrc.lower()
        name = '{lgnum}.{who}'.format(lgnum=who['lgnum'], who=who['who']).lower()
        # Warehouse order are procssed by the robot in the sequence they are assigned to them
        spec = {
            'data': who,
            'order_status': WarehouseOrderCRDSpec.STATE_RUNNING,
            'sequence': time.time_ns()}
        if self.check_cr_exists(name):
            _LOGGER.debug('Warehouse order CR "%s" exists. Update it', name)
            cr_old = self.get_cr(name)
            robot_old = cr_old['metadata'].get('labels', {}).get('cloudrobotics.com/robot-name')
            order_status_old = cr_old['spec'].get('order_status')
            # Keep the sequence if it is set and order_status or robot-name label did not change
            if robot_old == robotident.rsrc.lower() and order_status_old == spec['order_status']:
                spec['sequence'] = cr_old['spec'].get('sequence', 0)
            # Update CR
            self.update_cr_spec(name, spec, labels)
        else:
            _LOGGER.debug('Warehouse order CR "%s" not existing. Create it', name)
            spec['sequence'] = time.time_ns()
            self.create_cr(name, labels, spec) 
開發者ID:SAP,項目名稱:ewm-cloud-robotics,代碼行數:27,代碼來源:ordercontroller.py

示例8: time_ns

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def time_ns():
        return int(time() * 10**9) # 64 bits integer, 32 ns bits 
開發者ID:laurivosandi,項目名稱:certidude,代碼行數:4,代碼來源:common.py

示例9: generate_serial

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def generate_serial():
    return time_ns() << 56 | random.randint(0, 2**56-1) 
開發者ID:laurivosandi,項目名稱:certidude,代碼行數:4,代碼來源:common.py

示例10: time_ms

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def time_ms():
    """currently pypy only has Python 3.5.3, so we are missing Python 3.7's time.time_ns() with better precision
    see https://www.python.org/dev/peps/pep-0564/

    the function here is a convenience; you shall use `time.time_ns() // 1e6` if using >=Python 3.7
    """
    return int(time.time() * 1e3) 
開發者ID:QuarkChain,項目名稱:pyquarkchain,代碼行數:9,代碼來源:utils.py

示例11: __init__

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def __init__(self, system_ns: int, monotonic_ns: int) -> None:
        """
        Manual construction is rarely needed, except when implementing network drivers.
        See the static factory methods.

        :param system_ns:       Belongs to the domain of :func:`time.time_ns`. Units are nanoseconds.
        :param monotonic_ns:    Belongs to the domain of :func:`time.monotonic_ns`. Units are nanoseconds.
        """
        self._system_ns = int(system_ns)
        self._monotonic_ns = int(monotonic_ns)

        if self._system_ns < 0 or self._monotonic_ns < 0:
            raise ValueError(f'Neither of the timestamp samples can be negative; found this: {self!r}') 
開發者ID:UAVCAN,項目名稱:pyuavcan,代碼行數:15,代碼來源:_timestamp.py

示例12: now

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def now() -> Timestamp:
        """
        Constructs a new timestamp instance populated with current time.

        .. important:: Clocks are sampled non-atomically! Monotonic sampled first.
        """
        return Timestamp(monotonic_ns=time.monotonic_ns(), system_ns=time.time_ns()) 
開發者ID:UAVCAN,項目名稱:pyuavcan,代碼行數:9,代碼來源:_timestamp.py

示例13: start

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def start(self, name):
        """ Start measuring time for `name` """
        self._timers[name] = time_ns() 
開發者ID:kolypto,項目名稱:py-mongosql,代碼行數:5,代碼來源:benchmark_utils.py

示例14: stop

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def stop(self, name):
        """ Stop measuring time for `name`.

        You can add more time by calling start()/stop() again.
        """
        total = time_ns() - self._timers[name]
        self._results[name] += total 
開發者ID:kolypto,項目名稱:py-mongosql,代碼行數:9,代碼來源:benchmark_utils.py

示例15: benchmark_parallel

# 需要導入模塊: import time [as 別名]
# 或者: from time import time_ns [as 別名]
def benchmark_parallel(n_iterations, n_parts, **tests):
    """ Run the given tests in parallel.

    It will switch between all the given tests back and forth, making sure that some local
    performance fluctuations won't hurt running the tests.

    Args
    ----

    n_iterations: int
        The total number of iterations
    n_parts: int
        The number of parts to break those iterations into
    tests:
        Named tests to run.
        Each is a callable that receives the `n` argument: number of repetitions
    """
    timers = Nanotimers()
    iters_per_run = n_iterations // n_parts

    # Run
    for run in range(n_parts):
        for name, test in tests.items():
            timers.start(name)
            test(iters_per_run)
            timers.stop(name)

    # Fix overhead
    # Measure overhead: call an empty function the same number of times
    def f(): pass
    t1 = time_ns()
    for i in range(n_iterations): f()
    t2 = time_ns()
    overhead_ns = t2 - t1
    # Fix it: shift all results by the measured number of nanoseconds
    timers.overhead_shift(overhead_ns)

    # Done
    return timers 
開發者ID:kolypto,項目名稱:py-mongosql,代碼行數:41,代碼來源:benchmark_utils.py


注:本文中的time.time_ns方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。