This commit is contained in:
Will McGugan
2022-10-12 14:19:44 +01:00
parent 091693b6c0
commit bc86cdd303
5 changed files with 14 additions and 18 deletions

View File

@@ -3,10 +3,9 @@ Timer context manager, only used in debug.
"""
from ._time import time
import contextlib
from typing import Generator
from time import perf_counter
from . import log
@@ -14,8 +13,8 @@ from . import log
@contextlib.contextmanager
def timer(subject: str = "time") -> Generator[None, None, None]:
"""print the elapsed time. (only used in debugging)"""
start = time()
start = perf_counter()
yield
elapsed = time() - start
elapsed = perf_counter() - start
elapsed_ms = elapsed * 1000
log(f"{subject} elapsed {elapsed_ms:.2f}ms")

View File

@@ -1,4 +1,5 @@
import platform
from time import monotonic, perf_counter
PLATFORM = platform.system()
@@ -9,5 +10,3 @@ if WINDOWS:
time = perf_counter
else:
time = monotonic
time = monotonic

View File

@@ -3,16 +3,15 @@ from __future__ import annotations
import asyncio
import inspect
import json
import pickle
from asyncio import Queue, Task, QueueFull
from asyncio import Queue, QueueFull, Task
from io import StringIO
from typing import Type, Any, NamedTuple
from time import time
from typing import Any, NamedTuple, Type
from rich.console import Console
from rich.segment import Segment
from .._time import time
from .._log import LogGroup, LogVerbosity
@@ -22,12 +21,12 @@ class DevtoolsDependenciesMissingError(Exception):
try:
import aiohttp
import msgpack
from aiohttp import (
ClientResponseError,
ClientConnectorError,
ClientResponseError,
ClientWebSocketResponse,
)
import msgpack
except ImportError:
# TODO: Add link to documentation on how to install devtools
raise DevtoolsDependenciesMissingError(

View File

@@ -4,8 +4,7 @@ import asyncio
from abc import ABC, abstractmethod
from typing import TYPE_CHECKING
from . import events
from ._time import time
from . import _clock, events
from ._types import MessageTarget
if TYPE_CHECKING:
@@ -20,7 +19,7 @@ class Driver(ABC):
self._target = target
self._debug = debug
self._loop = asyncio.get_running_loop()
self._mouse_down_time = time()
self._mouse_down_time = _clock.get_time_no_wait()
def send_event(self, event: events.Event) -> None:
asyncio.run_coroutine_threadsafe(

View File

@@ -14,16 +14,16 @@ from functools import partial
from typing import TYPE_CHECKING, Any, Awaitable, Callable, Iterable
from weakref import WeakSet
from . import events, log, messages, Logger
from . import Logger, events, log, messages
from ._callback import invoke
from ._context import NoActiveAppError, active_app
from ._time import time
from .errors import DuplicateKeyHandlers
from .timer import Timer, TimerCallback
from .case import camel_to_snake
from .errors import DuplicateKeyHandlers
from .events import Event
from .message import Message
from .reactive import Reactive
from .timer import Timer, TimerCallback
if TYPE_CHECKING:
from .app import App