• Andres Freund's avatar
    Hand code string to integer conversion for performance. · 86eaf208
    Andres Freund authored
    As benchmarks show, using libc's string-to-integer conversion is
    pretty slow. At least part of the reason for that is that strtol[l]
    have to be more generic than what largely is required inside pg.
    
    This patch considerably speeds up int2/int4 input (int8 already was
    already using hand-rolled code).
    
    Most of the existing pg_atoi callers have been converted. But as one
    requires pg_atoi's custom delimiter functionality, and as it seems
    likely that there's external pg_atoi users, it seems sensible to just
    keep pg_atoi around.
    
    Author: Andres Freund
    Reviewed-By: Robert Haas
    Discussion: https://postgr.es/m/20171208214437.qgn6zdltyq5hmjpk@alap3.anarazel.de
    86eaf208
varlena.c 137 KB