code: def _measure_coro_running_time(n_coros, elapsed_fut, counter):
      async def coro():
          await asyncio.sleep(0.1)
          counter.value += 1
  
      try:
          start_time = time.perf_counter()
  
          futures = [
              RemoteExpertWorker.run_coroutine(
                  coro(), return_future=True
              )
              for _ in range(n_coros - 1)
          ]  # Non-blocking calls
          RemoteExpertWorker.run_coroutine(
              coro(), return_future=False
          )  # A blocking call
          for fut in futures:
              fut.result()
  
          elapsed_fut.set_result(time.perf_counter() - start_time)
      except Exception as e:
          elapsed_fut.set_exception(e)
  
imports: import asyncio
  import ctypes
  import multiprocessing
  import threading
  import time
  import numpy
  import pytest
  import torch
  from hivemind.dht import DHT
  from hivemind.moe.client.expert import RemoteExpert, create_remote_experts
  from hivemind.moe.client.moe import DUMMY, RemoteMixtureOfExperts, _RemoteCallMany
  from hivemind.moe.client.remote_expert_worker import RemoteExpertWorker
  from hivemind.moe.client.switch_moe import RemoteSwitchMixtureOfExperts
  from hivemind.moe.expert_uid import ExpertInfo
  from hivemind.moe.server import ModuleBackend, Server, background_server, declare_experts
  from hivemind.moe.server.layers import name_to_block
  from hivemind.p2p.p2p_daemon_bindings.control import P2PHandlerError
  from hivemind.utils import BatchTensorDescriptor, MPFuture, get_dht_time
label_desc: Use image node_id 9 for calling a global function with example usage: _measure_coro_running_time(n_coros, elapsed_fut, counter) without return types