-
Notifications
You must be signed in to change notification settings - Fork 261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Speed up PostgresConnection fetch() and iterate() #193
Conversation
48fe517
to
24e3242
Compare
typing.Mapping[typing.Any, typing.Tuple[int, TypeEngine]], | ||
typing.Mapping[int, typing.Tuple[int, TypeEngine]], | ||
typing.Mapping[str, typing.Tuple[int, TypeEngine]], | ||
]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay. I'd be quite keen for us to document the return types here, maybe?
I realise that's not currently the case, but if we're touching this part of the codebase, then now might be a good time for us to improve that, since it's a really unclear area at the moment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
@tomchristie How about now? I'd rather add the rest of the docs later. |
Changelog: - Use backend native fetch_val() implementation when available (encode#132) - Replace psycopg2-binary with psycopg2 (encode#198) (encode#204) - Speed up PostgresConnection fetch() and iterate() (encode#193) - Access asyncpg Record field by key on raw query (encode#207) - Fix type hinting for sqlite backend (encode#227) - Allow setting min_size and max_size in postgres DSN (encode#210) - Add option pool_recycle in postgres DSN (encode#233) - Fix SQLAlchemy DDL statements (encode#226) - Make fetch_val call fetch_one for type conversion (encode#246) - Allow extra transaction options (encode#242) - Unquote username and password in DatabaseURL (encode#248)
Changelog: - Use backend native fetch_val() implementation when available (encode#132) - Replace psycopg2-binary with psycopg2 (encode#198) (encode#204) - Speed up PostgresConnection fetch() and iterate() (encode#193) - Access asyncpg Record field by key on raw query (encode#207) - Fix type hinting for sqlite backend (encode#227) - Allow setting min_size and max_size in postgres DSN (encode#210) - Add option pool_recycle in postgres DSN (encode#233) - Fix SQLAlchemy DDL statements (encode#226) - Make fetch_val call fetch_one for type conversion (encode#246) - Allow extra transaction options (encode#242) - Unquote username and password in DatabaseURL (encode#248)
Changelog: - Use backend native fetch_val() implementation when available (encode#132) - Replace psycopg2-binary with psycopg2 (encode#198) (encode#204) - Speed up PostgresConnection fetch() and iterate() (encode#193) - Access asyncpg Record field by key on raw query (encode#207) - Fix type hinting for sqlite backend (encode#227) - Allow setting min_size and max_size in postgres DSN (encode#210) - Add option pool_recycle in postgres DSN (encode#233) - Fix SQLAlchemy DDL statements (encode#226) - Make fetch_val call fetch_one for type conversion (encode#246) - Allow extra transaction options (encode#242) - Unquote username and password in DatabaseURL (encode#248)
Changelog: - Use backend native fetch_val() implementation when available (encode#132) - Replace psycopg2-binary with psycopg2 (encode#198) (encode#204) - Speed up PostgresConnection fetch() and iterate() (encode#193) - Access asyncpg Record field by key on raw query (encode#207) - Fix type hinting for sqlite backend (encode#227) - Allow setting min_size and max_size in postgres DSN (encode#210) - Add option pool_recycle in postgres DSN (encode#233) - Fix SQLAlchemy DDL statements (encode#226) - Make fetch_val call fetch_one for type conversion (encode#246) - Allow extra transaction options (encode#242) - Unquote username and password in DatabaseURL (encode#248)
Changelog: - Use backend native fetch_val() implementation when available (#132) - Replace psycopg2-binary with psycopg2 (#198) (#204) - Speed up PostgresConnection fetch() and iterate() (#193) - Access asyncpg Record field by key on raw query (#207) - Fix type hinting for sqlite backend (#227) - Allow setting min_size and max_size in postgres DSN (#210) - Add option pool_recycle in postgres DSN (#233) - Fix SQLAlchemy DDL statements (#226) - Make fetch_val call fetch_one for type conversion (#246) - Allow extra transaction options (#242) - Unquote username and password in DatabaseURL (#248)
I noticed that the column maps in the Postgres abstraction can moved outside of the loop. According to the profiling results, this makes -25% less overhead on wrapping
asyncpg.Record
.