Skip to content

Replace `entry_to_bytes` with psycopg2's typecast

entry_to_bytes and its friends were called many times (eg. entry_to_bytes alone was called 40k times while indexing 500 origins with the metadata indexer), and its use of isinstance used a non-negligible amount of CPU time.

Instead of using *_to_bytes function as post-processing on all bits of data returned by postgresql, this patch tells psycopg2 to use a new typecast_bytea function when needed (in adapt_conn). This function deffers the decoding work to psycopg2, which returns a memoryview, which is turned into bytes.

Replaces swh-storage!142 (closed).


Migrated from D1054 (view on Phabricator)

Merge request reports