Może obciążenie wynikające z wielokrotnego wywołania funkcji, które jest usprawnione przez wbudowanie funkcji?
Tak właśnie przypuszczam. Masz bardzo proste wyrażenie. Rzeczywiste wywołanie funkcji prawdopodobnie obejmuje konfigurację stosu, przekazywanie parametrów itp.
Poniższy test daje czasy działania 5 ms dla inline i 50 ms dla ścisłego.
BEGIN;
CREATE SCHEMA f;
SET search_path = f;
CREATE FUNCTION f1(int) RETURNS int AS $$SELECT 1$$ LANGUAGE SQL;
CREATE FUNCTION f2(int) RETURNS int AS $$SELECT 1$$ LANGUAGE SQL STRICT;
\timing on
SELECT sum(f1(i)) FROM generate_series(1,10000) i;
SELECT sum(f2(i)) FROM generate_series(1,10000) i;
\timing off
ROLLBACK;