]> kaliko git repositories - python-musicpdaio.git/blob - mpdaio-time.py
Some improvement on ConnectionPool
[python-musicpdaio.git] / mpdaio-time.py
1 import asyncio
2 import logging
3 import timeit
4
5 from mpdaio.client import MPDClient
6 from musicpd import MPDClient as MPDClientNAIO
7
8 logging.basicConfig(level=logging.DEBUG,
9                     format='%(levelname)-8s %(module)-10s %(message)s')
10
11 async def run_cli():
12     cli = MPDClient()
13     cli.mpd_timeout = 0.1
14     #current = await cli.currentsong()
15     #print(current)
16
17     #await cli.connect(host='kaliko.me', port='6601')
18     cli = MPDClient(host='kaliko.me', port=6601)
19     cli.mpd_timeout = 0.1
20     print(await cli.currentsong())
21     print(await cli.playlistinfo())
22     await cli.list('artist')
23     #print(await cli.playlistinfo())
24     await cli.close()
25
26
27 async def aio():
28     cli = MPDClient(host='kaliko.me', port=6601)
29     # Group tasks together
30     try:
31         await asyncio.gather(
32             cli.currentsong(),
33             # cli.playlistinfo(),
34             # cli.list('artist'),
35             # cli.listallinfo('The Doors'),
36             # cli.listallinfo('AFX')
37             )
38         # await asyncio.gather(
39         #     cli.currentsong()
40         #     )
41     finally:
42         # finally close
43         await cli.close()
44
45
46 def noaio():
47     cli = MPDClientNAIO()
48     cli.mpd_timeout = 0.1
49     cli.connect(host='kaliko.me', port='6601')
50     cli.currentsong()
51     cli.playlistinfo()
52     cli.list('artist')
53     cli.listallinfo('The Doors')
54     cli.listallinfo('AFX')
55     # finally close
56     cli.disconnect()
57
58 if __name__ == '__main__':
59     asyncio.run(aio())
60     asyncio.run(run_cli())
61     import sys
62     sys.exit(0)
63     print('Running aio code')
64     t = timeit.Timer('asyncio.run(aio())', globals=globals())
65     #print(t.autorange())
66     print(t.timeit(10))
67     #
68     print('Running non aio code')
69     t = timeit.Timer('noaio()', globals=globals())
70     #print(t.autorange())
71     print(t.timeit(10))