diff --git a/README.md b/README.md index 605a52c..ff35299 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # uplpgsql +

+ uplpgsql — PL/pgSQL, compiled to native machine code; 9–23× faster than the interpreter +

+ A JIT-compiling PL/pgSQL for Postgres, derived from the NEXTGRES Universal Procedural Language (UPL) compiler and runtime. > [!WARNING] diff --git a/assets/hero.svg b/assets/hero.svg new file mode 100644 index 0000000..dea3525 --- /dev/null +++ b/assets/hero.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + POSTGRES PROCEDURAL LANGUAGE, COMPILED + + + uplpgsql + + + PL/pgSQL, compiled to native machine code. + + + + + + + + + CREATE FUNCTION f() … LANGUAGE plpgsql + + + CREATE FUNCTION f() … LANGUAGE uplpgsql + + + One‑word edit — same grammar, same semantics, same error messages. + + LLVM ORCJIT  ·  THREE‑TIER EXPRESSIONS  ·  CACHED PER BACKEND + + + INTERPRETED  →  JIT‑COMPILED + + + 9–23× + 9–23× + faster on compiled workloads + + + + 23.0× + 21.7× + 16.6× + 15.2× + 14.7× + 13.0× + 9.0× + 5.0× + 1.4× + + 9 workloads vs. PostgreSQL’s PL/pgSQL interpreter — Mandelbrot down to numeric +