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)