+++ /dev/null
-import asyncio
-import logging
-import timeit
-
-from mpdaio.client import MPDClient
-from musicpd import MPDClient as MPDClientNAIO
-
-
-async def run_cli():
- cli = MPDClient()
- cli.mpd_timeout = 0.1
- #current = await cli.currentsong()
- #print(current)
-
- #await cli.connect(host='kaliko.me', port='6601')
- cli = MPDClient(host='kaliko.me', port=6601)
- cli.mpd_timeout = 0.1
- print(await cli.currentsong())
- print(await cli.playlistinfo())
- await cli.list('artist')
- #print(await cli.playlistinfo())
- await cli.close()
-
-
-async def gather_calls():
- await asyncio.gather(
- cli.ping(),
- cli.currentsong(),
- cli.playlistinfo(),
- cli.list('artist'),
- cli.listallinfo('The Doors'),
- cli.listallinfo('The Doors'),
- cli.listallinfo('The Doors'),
- cli.listallinfo('AFX'),
- cli.listallinfo('AFX'),
- cli.listallinfo('AFX'),
- cli.find('(MUSICBRAINZ_ARTISTID == "9efff43b-3b29-4082-824e-bc82f646f93d")'),
- )
-
-
-async def aio_warmup():
- # print(len(cli._pool._connections.setdefault(host, [])))
- await gather_calls()
- # print(len(cli._pool._connections.setdefault(host, [])))
-
-
-async def aio():
- # Group tasks together
- try:
- await gather_calls()
- finally:
- # finally close
- await cli.close()
-
-
-def noaio():
- cli.ping()
- cli.currentsong()
- cli.playlistinfo()
- cli.list('artist')
- cli.listallinfo('The Doors')
- cli.listallinfo('The Doors')
- cli.listallinfo('The Doors')
- cli.listallinfo('AFX')
- cli.listallinfo('AFX')
- cli.listallinfo('AFX')
- cli.find('(MUSICBRAINZ_ARTISTID == "9efff43b-3b29-4082-824e-bc82f646f93d")')
-
-
-if __name__ == '__main__':
- # Setup
- n = 5
- host = ('kaliko.me', '6601')
- logging.basicConfig(level=logging.INFO,
- format='%(levelname)-8s %(module)-10s %(message)s')
-
- print('Running aio code')
- cli = MPDClient(*host)
- ev = asyncio.get_event_loop()
- ev.run_until_complete(aio_warmup())
-
- # Time it
- #t = timeit.Timer('ev.run_until_complete(aio_warmup())', globals=globals())
- t = timeit.Timer('ev.run_until_complete(aio_warmup())', globals=globals())
- print('Start timeit')
- print(t.timeit(n))
- print(t.timeit(n))
- ev.run_until_complete(cli.close())
-
- # Setup
- print('Running non aio code')
- cli = MPDClientNAIO()
- cli.mpd_timeout = 0.1
- cli.connect(*host)
- # Time it
- t = timeit.Timer('noaio()', globals=globals())
- print(t.timeit(n))
- print(t.timeit(n))
- cli.disconnect()