On 2022-Aug-30, Amit Langote wrote:

> Patches 0001-0006:
> 
> Yeah, these add the overhead of an extra function call (typin() ->
> typin_opt_error()) in possibly very common paths.  Other than
> refactoring *all* places that call typin() to use the new API, the
> only other option seems to be to leave the typin() functions alone and
> duplicate their code in typin_opt_error() versions for all the types
> that this patch cares about.  Though maybe, that's not necessarily a
> better compromise than accepting the extra function call overhead.

I think another possibility is to create a static inline function in the
corresponding .c module (say boolin_impl() in bool.c), which is called
by both the opt_error variant as well as the regular one.  This would
avoid the duplicate code as well as the added function-call overhead.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
Syntax error: function hell() needs an argument.
Please choose what hell you want to involve.


Reply via email to