new_contents: import argparse
  import asyncio
  import gc
  import uvloop
  import os.path
  import socket as socket_module
  
  from socket import *
  
  
  PRINT = 0
  
  
  async def echo_client_streams(reader, writer):
      sock = writer.get_extra_info('socket')
      try:
          sock.setsockopt(IPPROTO_TCP, TCP_NODELAY, 1)
      except (OSError, NameError):
          pass
      if PRINT:
          print('Connection from', sock.getpeername())
      while True:
          data = await reader.readline()
          if not data:
              break
          writer.write(data)
      if PRINT:
          print('Connection closed')
      writer.close()
  
  
  async def print_debug(loop):
      while True:
          print(chr(27) + "[2J")  # clear screen
          loop.print_debug_info()
          await asyncio.sleep(0.5, loop=loop)
  
  
  if __name__ == '__main__':
      parser = argparse.ArgumentParser()
      parser.add_argument('--uvloop', default=False, action='store_true')
      parser.add_argument('--addr', default='127.0.0.1:25000', type=str)
      parser.add_argument('--print', default=False, action='store_true')
      args = parser.parse_args()
  
      if args.uvloop:
          loop = uvloop.new_event_loop()
          print('using UVLoop')
      else:
          loop = asyncio.new_event_loop()
          print('using asyncio loop')
  
      asyncio.set_event_loop(loop)
      loop.set_debug(False)
  
      if args.print:
          PRINT = 1
  
      if hasattr(loop, 'print_debug_info'):
          loop.create_task(print_debug(loop))
          PRINT = 0
  
      unix = False
      if args.addr.startswith('file:'):
          unix = True
          addr = args.addr[5:]
          if os.path.exists(addr):
              os.remove(addr)
      else:
          addr = args.addr.split(':')
          addr[1] = int(addr[1])
          addr = tuple(addr)
  
      print('readline performance test')
      print('serving on: {}'.format(addr))
  
      print('using asyncio/streams')
      if unix:
          coro = asyncio.start_unix_server(echo_client_streams,
                                           addr, loop=loop, limit=256000)
      else:
          coro = asyncio.start_server(echo_client_streams,
                                      *addr, loop=loop, limit=256000)
      srv = loop.run_until_complete(coro)
  
      try:
          loop.run_forever()
      finally:
          if hasattr(loop, 'print_debug_info'):
              gc.collect()
              print(chr(27) + "[2J")
              loop.print_debug_info()
  
          loop.close()
  
subject: Add a new benchmark - readline server