Advertisement
Guest User

Untitled

a guest
Aug 11th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. import asyncio
  2. import aiopg
  3. import aiopg.sa
  4. import asyncpg
  5. import asyncpgsa
  6. import sqlalchemy as sa
  7.  
  8. pg_tables = sa.Table(
  9. 'pg_tables', sa.MetaData(),
  10. sa.Column('schemaname'),
  11. sa.Column('tablename'),
  12. sa.Column('tableowner'),
  13. sa.Column('tablespace'),
  14. sa.Column('hasindexes')
  15. )
  16. query = pg_tables.select().where(pg_tables.c.schemaname == 'pg_catalog')
  17.  
  18. loop = asyncio.get_event_loop()
  19.  
  20.  
  21. async def aio_coro():
  22. await connection.execute(query)
  23.  
  24. async def apg_coro():
  25. await pgconn.execute(query)
  26.  
  27. run_aiopg = lambda: loop.run_until_complete(aio_coro())
  28. run_asyncpgsa = lambda: loop.run_until_complete(apg_coro())
  29.  
  30. pgconn = asyncpg.connect(user='postgres', host='127.0.0.1', password='password', database='postgres', connection_class=asyncpgsa.connection.SAConnection)
  31. pgconn = loop.run_until_complete(pgconn)
  32. engine = loop.run_until_complete(aiopg.sa.create_engine(user='postgres', password='password', host='127.0.0.1', database='postgres'))
  33. connection = loop.run_until_complete(engine.acquire())
  34.  
  35. run_asyncpgsa()
  36. run_aiopg()
  37.  
  38.  
  39. from timeit import timeit
  40.  
  41. print('aiopg.sa:', timeit(run_aiopg, number=10000))
  42. print('asyncpgsa', timeit(run_asyncpgsa, number=10000))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement