> IMHO that would be useful to establish the current state of the patch set from
> a performance standpoint, especially since you've added code intended to
> mitigate the regression.

Ok.

> +#define COMP_CRC32C_SMALL(crc, data, len) \
> +     ((crc) = pg_comp_crc32c_sse42((crc), (data), (len)))
> 
> My interpretation of Andres's upthread suggestion is that we'd add the length
> check within the macro instead of introducing a separate one.  We'd expect
> the compiler to optimize out comparisons for small lengths known at compile
> time and always call the existing implementation (which may still involve a
> function pointer in most cases).

How does the m4/compiler know the difference between a const "len" and a 
dynamic "len"? I already when the code and changed constant sizes (structure 
sizes) to the new macro. Can you give an example of how this could work?

Paul



Reply via email to