X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=mpdaio-time.py;h=af9ec3a445a9c1255801b3572e7c9d6fd291827f;hb=98d6037125815600cf4732be859848c1bf7c1eca;hp=1e21080725ea31fa9035462c2e4a5bbf7e18cf12;hpb=deee9815c5d84fc6740a1cece500526bd43142d4;p=python-musicpdaio.git diff --git a/mpdaio-time.py b/mpdaio-time.py index 1e21080..af9ec3a 100644 --- a/mpdaio-time.py +++ b/mpdaio-time.py @@ -5,8 +5,6 @@ import timeit from mpdaio.client import MPDClient from musicpd import MPDClient as MPDClientNAIO -logging.basicConfig(level=logging.DEBUG, - format='%(levelname)-8s %(module)-10s %(message)s') async def run_cli(): cli = MPDClient() @@ -24,48 +22,78 @@ async def run_cli(): 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(): - cli = MPDClient(host='kaliko.me', port=6601) # Group tasks together try: - await asyncio.gather( - cli.currentsong(), - # cli.playlistinfo(), - # cli.list('artist'), - # cli.listallinfo('The Doors'), - # cli.listallinfo('AFX') - ) - # await asyncio.gather( - # cli.currentsong() - # ) + await gather_calls() finally: # finally close await cli.close() def noaio(): - cli = MPDClientNAIO() - cli.mpd_timeout = 0.1 - cli.connect(host='kaliko.me', port='6601') + cli.ping() cli.currentsong() cli.playlistinfo() cli.list('artist') cli.listallinfo('The Doors') + cli.listallinfo('The Doors') + cli.listallinfo('The Doors') cli.listallinfo('AFX') - # finally close - cli.disconnect() + cli.listallinfo('AFX') + cli.listallinfo('AFX') + cli.find('(MUSICBRAINZ_ARTISTID == "9efff43b-3b29-4082-824e-bc82f646f93d")') + if __name__ == '__main__': - asyncio.run(aio()) - asyncio.run(run_cli()) - import sys - sys.exit(0) + # Setup + n = 5 + host = ('kaliko.me', '6601') + logging.basicConfig(level=logging.INFO, + format='%(levelname)-8s %(module)-10s %(message)s') + print('Running aio code') - t = timeit.Timer('asyncio.run(aio())', globals=globals()) - #print(t.autorange()) - print(t.timeit(10)) - # + 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.autorange()) - print(t.timeit(10)) + print(t.timeit(n)) + print(t.timeit(n)) + cli.disconnect()