Re: Optimize mul_var() for var1ndigits >= 8 - Mailing list pgsql-hackers

From Joel Jacobson
Subject Re: Optimize mul_var() for var1ndigits >= 8
Date
Msg-id 4e6945c7-ea46-47f3-a26d-aabb02e4692f@app.fastmail.com
Whole thread Raw
In response to Re: Optimize mul_var() for var1ndigits >= 8  ("Joel Jacobson" <joel@compiler.org>)
Responses Re: Optimize mul_var() for var1ndigits >= 8
List pgsql-hackers
On Mon, Jul 29, 2024, at 02:23, Joel Jacobson wrote:
> Then, I've used sched_setaffinity() from <sched.h> to ensure the 
> benchmark run on CPU core id 31.

I fixed a bug in my measure function, I had forgot to reset affinity after each
benchmark, so the PostgreSQL backend continued to use the core even after
numeric_mul had finished.

New results with less noise below.

Pardon the exceeding of 80 chars line width,
but felt important to include commit hash and relative delta.


    ndigits    |    rate    |  change   |   accum   | commit  |                      summary
---------------+------------+-----------+-----------+---------+----------------------------------------------------
 (1,1)         |  1.639e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,1)         |  2.248e+07 | +37.16 %  | +37.16 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,1)         |  2.333e+07 | +3.77 %   | +42.32 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,1)         |  2.291e+07 | -1.81 %   | +39.75 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,1)         |  2.276e+07 | -0.64 %   | +38.86 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,1)         |  2.256e+07 | -0.86 %   | +37.66 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,1)         |  2.182e+07 | -3.32 %   | +33.09 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,2)         |  1.640e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,2)         |  2.202e+07 | +34.28 %  | +34.28 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,2)         |  2.214e+07 | +0.58 %   | +35.06 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,2)         |  2.173e+07 | -1.85 %   | +32.55 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,2)         |  2.260e+07 | +3.98 %   | +37.83 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,2)         |  2.233e+07 | -1.19 %   | +36.19 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,2)         |  2.144e+07 | -3.97 %   | +30.79 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,3)         |  1.511e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,3)         |  2.179e+07 | +44.20 %  | +44.20 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,3)         |  2.134e+07 | -2.05 %   | +41.24 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,3)         |  2.198e+07 | +2.99 %   | +45.47 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,3)         |  2.190e+07 | -0.39 %   | +44.91 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,3)         |  2.164e+07 | -1.16 %   | +43.23 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,3)         |  2.104e+07 | -2.79 %   | +39.24 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,4)         |  1.494e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,4)         |  2.132e+07 | +42.71 %  | +42.71 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,4)         |  2.151e+07 | +0.91 %   | +44.00 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,4)         |  2.190e+07 | +1.82 %   | +46.62 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,4)         |  2.172e+07 | -0.82 %   | +45.41 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,4)         |  2.112e+07 | -2.75 %   | +41.41 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,4)         |  2.077e+07 | -1.67 %   | +39.05 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,8)         |  1.444e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,8)         |  2.063e+07 | +42.85 %  | +42.85 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,8)         |  1.996e+07 | -3.25 %   | +38.21 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,8)         |  2.039e+07 | +2.12 %   | +41.14 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,8)         |  2.020e+07 | -0.89 %   | +39.87 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,8)         |  1.934e+07 | -4.28 %   | +33.89 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,8)         |  1.948e+07 | +0.73 %   | +34.87 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,16)        |  9.614e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,16)        |  1.215e+07 | +26.37 %  | +26.37 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,16)        |  1.223e+07 | +0.68 %   | +27.23 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,16)        |  1.251e+07 | +2.26 %   | +30.11 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,16)        |  1.236e+07 | -1.17 %   | +28.58 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,16)        |  1.293e+07 | +4.62 %   | +34.53 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,16)        |  1.240e+07 | -4.16 %   | +28.94 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,32)        |  5.675e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,32)        |  8.241e+06 | +45.22 %  | +45.22 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,32)        |  8.303e+06 | +0.74 %   | +46.30 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,32)        |  8.352e+06 | +0.60 %   | +47.17 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,32)        |  8.200e+06 | -1.82 %   | +44.49 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,32)        |  8.100e+06 | -1.22 %   | +42.73 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,32)        |  8.313e+06 | +2.62 %   | +46.47 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,64)        |  3.479e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,64)        |  4.763e+06 | +36.91 %  | +36.91 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,64)        |  4.677e+06 | -1.79 %   | +34.46 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,64)        |  4.655e+06 | -0.48 %   | +33.82 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,64)        |  4.716e+06 | +1.31 %   | +35.56 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,64)        |  4.766e+06 | +1.06 %   | +37.00 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,64)        |  4.795e+06 | +0.61 %   | +37.84 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,128)       |  1.879e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,128)       |  2.458e+06 | +30.81 %  | +30.81 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,128)       |  2.479e+06 | +0.88 %   | +31.97 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,128)       |  2.483e+06 | +0.16 %   | +32.18 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,128)       |  2.555e+06 | +2.90 %   | +36.01 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,128)       |  2.461e+06 | -3.70 %   | +30.97 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,128)       |  2.568e+06 | +4.35 %   | +36.67 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,256)       |  9.547e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,256)       |  1.310e+06 | +37.20 %  | +37.20 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,256)       |  1.302e+06 | -0.59 %   | +36.39 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,256)       |  1.351e+06 | +3.72 %   | +41.47 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,256)       |  1.325e+06 | -1.88 %   | +38.81 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,256)       |  1.338e+06 | +0.95 %   | +40.13 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,256)       |  1.370e+06 | +2.44 %   | +43.55 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,512)       |  4.999e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,512)       |  6.564e+05 | +31.31 %  | +31.31 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,512)       |  6.640e+05 | +1.16 %   | +32.83 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,512)       |  6.573e+05 | -1.01 %   | +31.49 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,512)       |  6.759e+05 | +2.83 %   | +35.22 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,512)       |  6.578e+05 | -2.68 %   | +31.59 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,512)       |  6.615e+05 | +0.57 %   | +32.34 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,1024)      |  2.567e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,1024)      |  3.342e+05 | +30.17 %  | +30.17 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,1024)      |  3.343e+05 | +0.04 %   | +30.23 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,1024)      |  3.435e+05 | +2.76 %   | +33.82 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,1024)      |  3.408e+05 | -0.81 %   | +32.73 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,1024)      |  3.441e+05 | +0.98 %   | +34.03 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,1024)      |  3.340e+05 | -2.95 %   | +30.08 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,2048)      |  1.256e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,2048)      |  1.648e+05 | +31.19 %  | +31.19 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,2048)      |  1.624e+05 | -1.46 %   | +29.27 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,2048)      |  1.648e+05 | +1.46 %   | +31.16 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,2048)      |  1.697e+05 | +2.98 %   | +35.06 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,2048)      |  1.634e+05 | -3.67 %   | +30.10 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,2048)      |  1.649e+05 | +0.89 %   | +31.27 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,4096)      |  6.430e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,4096)      |  8.903e+04 | +38.46 %  | +38.46 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,4096)      |  8.379e+04 | -5.88 %   | +30.32 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,4096)      |  8.536e+04 | +1.87 %   | +32.76 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,4096)      |  8.609e+04 | +0.85 %   | +33.88 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,4096)      |  8.540e+04 | -0.80 %   | +32.81 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,4096)      |  8.616e+04 | +0.89 %   | +34.00 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,8192)      |  3.122e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,8192)      |  4.227e+04 | +35.41 %  | +35.41 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,8192)      |  4.149e+04 | -1.85 %   | +32.90 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,8192)      |  4.221e+04 | +1.73 %   | +35.21 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,8192)      |  4.262e+04 | +0.97 %   | +36.51 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,8192)      |  4.188e+04 | -1.74 %   | +34.14 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,8192)      |  4.147e+04 | -0.96 %   | +32.85 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1,16384)     |  1.557e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1,16384)     |  2.122e+04 | +36.29 %  | +36.29 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (1,16384)     |  2.104e+04 | -0.84 %   | +35.14 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1,16384)     |  2.081e+04 | -1.06 %   | +33.70 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1,16384)     |  2.065e+04 | -0.80 %   | +32.63 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1,16384)     |  2.120e+04 | +2.68 %   | +36.18 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1,16384)     |  2.099e+04 | -1.01 %   | +34.80 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,2)         |  1.450e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,2)         |  2.147e+07 | +48.08 %  | +48.08 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,2)         |  2.289e+07 | +6.63 %   | +57.90 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,2)         |  2.296e+07 | +0.29 %   | +58.36 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,2)         |  2.175e+07 | -5.28 %   | +50.00 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,2)         |  2.188e+07 | +0.63 %   | +50.94 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,2)         |  2.138e+07 | -2.33 %   | +47.43 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,3)         |  1.312e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,3)         |  2.127e+07 | +62.10 %  | +62.10 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,3)         |  2.068e+07 | -2.80 %   | +57.57 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,3)         |  2.135e+07 | +3.26 %   | +62.71 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,3)         |  2.207e+07 | +3.38 %   | +68.21 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,3)         |  2.106e+07 | -4.59 %   | +60.49 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,3)         |  2.143e+07 | +1.74 %   | +63.28 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,4)         |  1.387e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,4)         |  2.020e+07 | +45.66 %  | +45.66 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,4)         |  2.000e+07 | -0.96 %   | +44.26 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,4)         |  2.062e+07 | +3.08 %   | +48.70 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,4)         |  1.954e+07 | -5.21 %   | +40.95 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,4)         |  2.057e+07 | +5.25 %   | +48.35 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,4)         |  1.974e+07 | -4.03 %   | +42.37 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,8)         |  1.313e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,8)         |  1.774e+07 | +35.19 %  | +35.19 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,8)         |  1.841e+07 | +3.76 %   | +40.28 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,8)         |  1.854e+07 | +0.67 %   | +41.22 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,8)         |  1.854e+07 | +0.03 %   | +41.26 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,8)         |  1.805e+07 | -2.63 %   | +37.54 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,8)         |  1.792e+07 | -0.76 %   | +36.50 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,16)        |  9.013e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,16)        |  1.207e+07 | +33.91 %  | +33.91 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,16)        |  1.174e+07 | -2.77 %   | +30.20 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,16)        |  1.158e+07 | -1.32 %   | +28.49 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,16)        |  1.193e+07 | +3.04 %   | +32.39 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,16)        |  1.226e+07 | +2.75 %   | +36.03 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,16)        |  1.180e+07 | -3.78 %   | +30.89 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,32)        |  5.716e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,32)        |  7.794e+06 | +36.35 %  | +36.35 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,32)        |  7.784e+06 | -0.12 %   | +36.19 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,32)        |  7.852e+06 | +0.87 %   | +37.37 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,32)        |  7.635e+06 | -2.76 %   | +33.57 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,32)        |  7.882e+06 | +3.24 %   | +37.90 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,32)        |  8.050e+06 | +2.13 %   | +40.84 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,64)        |  3.419e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,64)        |  4.455e+06 | +30.30 %  | +30.30 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,64)        |  4.486e+06 | +0.70 %   | +31.21 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,64)        |  4.498e+06 | +0.27 %   | +31.56 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,64)        |  4.447e+06 | -1.14 %   | +30.06 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,64)        |  4.775e+06 | +7.37 %   | +39.65 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,64)        |  4.596e+06 | -3.75 %   | +34.42 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,128)       |  1.738e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,128)       |  2.363e+06 | +35.95 %  | +35.95 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,128)       |  2.367e+06 | +0.16 %   | +36.17 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,128)       |  2.339e+06 | -1.16 %   | +34.59 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,128)       |  2.340e+06 | +0.05 %   | +34.65 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,128)       |  2.386e+06 | +1.98 %   | +37.31 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,128)       |  2.353e+06 | -1.41 %   | +35.37 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,256)       |  9.229e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,256)       |  1.238e+06 | +34.15 %  | +34.15 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,256)       |  1.274e+06 | +2.92 %   | +38.07 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,256)       |  1.260e+06 | -1.12 %   | +36.52 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,256)       |  1.259e+06 | -0.04 %   | +36.46 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,256)       |  1.247e+06 | -0.98 %   | +35.13 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,256)       |  1.304e+06 | +4.54 %   | +41.26 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,512)       |  4.746e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,512)       |  6.212e+05 | +30.87 %  | +30.87 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,512)       |  6.380e+05 | +2.71 %   | +34.42 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,512)       |  6.546e+05 | +2.59 %   | +37.91 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,512)       |  6.306e+05 | -3.65 %   | +32.87 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,512)       |  6.612e+05 | +4.85 %   | +39.31 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,512)       |  6.464e+05 | -2.25 %   | +36.19 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,1024)      |  2.446e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,1024)      |  3.160e+05 | +29.22 %  | +29.22 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,1024)      |  3.278e+05 | +3.72 %   | +34.03 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,1024)      |  3.185e+05 | -2.85 %   | +30.21 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,1024)      |  3.190e+05 | +0.17 %   | +30.44 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,1024)      |  3.348e+05 | +4.94 %   | +36.88 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,1024)      |  3.260e+05 | -2.62 %   | +33.29 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,2048)      |  1.226e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,2048)      |  1.551e+05 | +26.55 %  | +26.55 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,2048)      |  1.608e+05 | +3.66 %   | +31.18 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,2048)      |  1.576e+05 | -1.97 %   | +28.60 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,2048)      |  1.552e+05 | -1.50 %   | +26.66 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,2048)      |  1.577e+05 | +1.59 %   | +28.67 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,2048)      |  1.630e+05 | +3.35 %   | +32.99 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,4096)      |  6.170e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,4096)      |  8.192e+04 | +32.77 %  | +32.77 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,4096)      |  8.433e+04 | +2.94 %   | +36.68 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,4096)      |  8.166e+04 | -3.17 %   | +32.34 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,4096)      |  8.083e+04 | -1.01 %   | +31.00 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,4096)      |  8.296e+04 | +2.64 %   | +34.46 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,4096)      |  8.333e+04 | +0.44 %   | +35.05 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,8192)      |  3.015e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,8192)      |  4.013e+04 | +33.09 %  | +33.09 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,8192)      |  4.006e+04 | -0.16 %   | +32.88 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,8192)      |  4.087e+04 | +2.01 %   | +35.54 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,8192)      |  4.010e+04 | -1.87 %   | +33.01 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,8192)      |  4.027e+04 | +0.42 %   | +33.56 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,8192)      |  4.090e+04 | +1.57 %   | +35.66 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2,16384)     |  1.533e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2,16384)     |  2.053e+04 | +33.89 %  | +33.89 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (2,16384)     |  2.011e+04 | -2.04 %   | +31.16 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2,16384)     |  2.031e+04 | +1.00 %   | +32.48 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2,16384)     |  2.012e+04 | -0.96 %   | +31.20 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2,16384)     |  2.008e+04 | -0.20 %   | +30.94 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2,16384)     |  2.053e+04 | +2.26 %   | +33.90 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,3)         |  1.233e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,3)         |  2.077e+07 | +68.44 %  | +68.44 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,3)         |  2.123e+07 | +2.23 %   | +72.19 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,3)         |  2.061e+07 | -2.90 %   | +67.20 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,3)         |  2.073e+07 | +0.56 %   | +68.14 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,3)         |  2.040e+07 | -1.57 %   | +65.49 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,3)         |  1.912e+07 | -6.30 %   | +55.06 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,4)         |  1.261e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,4)         |  1.918e+07 | +52.08 %  | +52.08 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,4)         |  1.984e+07 | +3.46 %   | +57.34 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,4)         |  2.022e+07 | +1.91 %   | +60.35 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,4)         |  1.932e+07 | -4.48 %   | +53.16 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,4)         |  1.889e+07 | -2.21 %   | +49.78 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,4)         |  1.936e+07 | +2.47 %   | +53.47 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,8)         |  1.243e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,8)         |  1.813e+07 | +45.88 %  | +45.88 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,8)         |  1.755e+07 | -3.20 %   | +41.22 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,8)         |  1.798e+07 | +2.41 %   | +44.62 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,8)         |  1.737e+07 | -3.39 %   | +39.73 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,8)         |  1.716e+07 | -1.20 %   | +38.05 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,8)         |  1.755e+07 | +2.27 %   | +41.19 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,16)        |  7.347e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,16)        |  1.105e+07 | +50.46 %  | +50.46 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,16)        |  1.128e+07 | +2.03 %   | +53.52 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,16)        |  1.101e+07 | -2.36 %   | +49.90 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,16)        |  1.106e+07 | +0.40 %   | +50.50 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,16)        |  1.098e+07 | -0.73 %   | +49.41 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,16)        |  1.157e+07 | +5.41 %   | +57.50 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,32)        |  5.398e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,32)        |  7.399e+06 | +37.08 %  | +37.08 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,32)        |  7.170e+06 | -3.09 %   | +32.85 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,32)        |  7.263e+06 | +1.29 %   | +34.56 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,32)        |  7.283e+06 | +0.27 %   | +34.93 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,32)        |  7.515e+06 | +3.18 %   | +39.22 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,32)        |  7.556e+06 | +0.55 %   | +39.99 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,64)        |  3.279e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,64)        |  4.306e+06 | +31.30 %  | +31.30 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,64)        |  4.180e+06 | -2.94 %   | +27.45 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,64)        |  4.352e+06 | +4.13 %   | +32.72 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,64)        |  4.228e+06 | -2.86 %   | +28.92 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,64)        |  4.320e+06 | +2.18 %   | +31.73 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,64)        |  4.316e+06 | -0.10 %   | +31.60 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,128)       |  1.691e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,128)       |  2.244e+06 | +32.71 %  | +32.71 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,128)       |  2.246e+06 | +0.09 %   | +32.83 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,128)       |  2.239e+06 | -0.29 %   | +32.44 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,128)       |  2.264e+06 | +1.09 %   | +33.89 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,128)       |  2.367e+06 | +4.54 %   | +39.97 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,128)       |  2.359e+06 | -0.32 %   | +39.53 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,256)       |  8.856e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,256)       |  1.205e+06 | +36.04 %  | +36.04 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,256)       |  1.224e+06 | +1.57 %   | +38.17 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,256)       |  1.223e+06 | -0.07 %   | +38.06 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,256)       |  1.191e+06 | -2.60 %   | +34.48 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,256)       |  1.270e+06 | +6.61 %   | +43.37 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,256)       |  1.228e+06 | -3.26 %   | +38.69 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,512)       |  4.637e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,512)       |  6.174e+05 | +33.14 %  | +33.14 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,512)       |  6.080e+05 | -1.53 %   | +31.10 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,512)       |  6.229e+05 | +2.45 %   | +34.31 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,512)       |  6.214e+05 | -0.24 %   | +33.99 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,512)       |  6.296e+05 | +1.33 %   | +35.77 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,512)       |  6.415e+05 | +1.89 %   | +38.33 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,1024)      |  2.389e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,1024)      |  3.115e+05 | +30.41 %  | +30.41 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,1024)      |  3.144e+05 | +0.94 %   | +31.64 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,1024)      |  3.158e+05 | +0.44 %   | +32.22 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,1024)      |  3.241e+05 | +2.61 %   | +35.67 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,1024)      |  3.144e+05 | -2.98 %   | +31.62 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,1024)      |  3.162e+05 | +0.58 %   | +32.39 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,2048)      |  1.147e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,2048)      |  1.549e+05 | +35.02 %  | +35.02 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,2048)      |  1.568e+05 | +1.25 %   | +36.71 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,2048)      |  1.519e+05 | -3.13 %   | +32.42 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,2048)      |  1.526e+05 | +0.44 %   | +33.01 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,2048)      |  1.567e+05 | +2.72 %   | +36.62 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,2048)      |  1.563e+05 | -0.28 %   | +36.24 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,4096)      |  5.982e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,4096)      |  7.973e+04 | +33.29 %  | +33.29 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,4096)      |  8.063e+04 | +1.13 %   | +34.80 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,4096)      |  8.022e+04 | -0.51 %   | +34.11 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,4096)      |  8.249e+04 | +2.83 %   | +37.90 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,4096)      |  8.023e+04 | -2.74 %   | +34.12 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,4096)      |  8.141e+04 | +1.47 %   | +36.09 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,8192)      |  2.903e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,8192)      |  3.987e+04 | +37.33 %  | +37.33 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,8192)      |  4.028e+04 | +1.05 %   | +38.76 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,8192)      |  4.098e+04 | +1.72 %   | +41.16 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,8192)      |  3.920e+04 | -4.34 %   | +35.03 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,8192)      |  3.915e+04 | -0.11 %   | +34.88 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,8192)      |  3.894e+04 | -0.54 %   | +34.15 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (3,16384)     |  1.448e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (3,16384)     |  1.950e+04 | +34.71 %  | +34.71 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (3,16384)     |  1.967e+04 | +0.86 %   | +35.87 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (3,16384)     |  1.949e+04 | -0.95 %   | +34.59 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (3,16384)     |  1.950e+04 | +0.09 %   | +34.71 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (3,16384)     |  1.982e+04 | +1.63 %   | +36.90 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (3,16384)     |  1.973e+04 | -0.46 %   | +36.28 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,4)         |  1.172e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,4)         |  1.941e+07 | +65.61 %  | +65.61 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,4)         |  2.019e+07 | +4.02 %   | +72.27 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,4)         |  1.943e+07 | -3.74 %   | +65.83 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,4)         |  1.863e+07 | -4.15 %   | +58.95 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,4)         |  1.857e+07 | -0.31 %   | +58.46 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,4)         |  1.899e+07 | +2.23 %   | +61.99 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,8)         |  1.213e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,8)         |  1.721e+07 | +41.92 %  | +41.92 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,8)         |  1.709e+07 | -0.67 %   | +40.97 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,8)         |  1.738e+07 | +1.69 %   | +43.35 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,8)         |  1.675e+07 | -3.62 %   | +38.15 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,8)         |  1.659e+07 | -0.97 %   | +36.81 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,8)         |  1.672e+07 | +0.77 %   | +37.87 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,16)        |  7.979e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,16)        |  1.091e+07 | +36.69 %  | +36.69 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,16)        |  1.095e+07 | +0.39 %   | +37.23 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,16)        |  1.089e+07 | -0.54 %   | +36.49 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,16)        |  1.092e+07 | +0.25 %   | +36.83 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,16)        |  1.083e+07 | -0.83 %   | +35.70 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,16)        |  1.061e+07 | -2.00 %   | +32.99 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,32)        |  5.234e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,32)        |  6.820e+06 | +30.30 %  | +30.30 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,32)        |  6.995e+06 | +2.57 %   | +33.65 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,32)        |  7.239e+06 | +3.49 %   | +38.31 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,32)        |  6.980e+06 | -3.57 %   | +33.36 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,32)        |  7.181e+06 | +2.88 %   | +37.20 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,32)        |  6.865e+06 | -4.40 %   | +31.16 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,64)        |  3.222e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,64)        |  3.963e+06 | +22.99 %  | +22.99 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,64)        |  4.018e+06 | +1.39 %   | +24.71 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,64)        |  3.956e+06 | -1.54 %   | +22.78 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,64)        |  3.949e+06 | -0.18 %   | +22.56 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,64)        |  4.069e+06 | +3.05 %   | +26.29 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,64)        |  3.855e+06 | -5.26 %   | +19.65 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,128)       |  1.687e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,128)       |  2.081e+06 | +23.34 %  | +23.34 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,128)       |  2.090e+06 | +0.43 %   | +23.87 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,128)       |  2.132e+06 | +1.99 %   | +26.34 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,128)       |  2.129e+06 | -0.11 %   | +26.21 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,128)       |  2.082e+06 | -2.23 %   | +23.39 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,128)       |  2.098e+06 | +0.77 %   | +24.35 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,256)       |  8.638e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,256)       |  1.094e+06 | +26.67 %  | +26.67 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,256)       |  1.098e+06 | +0.35 %   | +27.11 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,256)       |  1.118e+06 | +1.82 %   | +29.42 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,256)       |  1.107e+06 | -0.94 %   | +28.20 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,256)       |  1.137e+06 | +2.70 %   | +31.66 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,256)       |  1.095e+06 | -3.72 %   | +26.76 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,512)       |  4.400e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,512)       |  5.711e+05 | +29.78 %  | +29.78 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,512)       |  5.725e+05 | +0.25 %   | +30.10 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,512)       |  5.726e+05 | +0.01 %   | +30.12 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,512)       |  5.733e+05 | +0.13 %   | +30.29 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,512)       |  5.655e+05 | -1.36 %   | +28.52 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,512)       |  5.621e+05 | -0.60 %   | +27.74 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,1024)      |  2.275e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,1024)      |  2.886e+05 | +26.83 %  | +26.83 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,1024)      |  2.895e+05 | +0.32 %   | +27.23 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,1024)      |  2.909e+05 | +0.50 %   | +27.87 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,1024)      |  2.892e+05 | -0.62 %   | +27.08 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,1024)      |  2.889e+05 | -0.08 %   | +26.97 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,1024)      |  2.851e+05 | -1.31 %   | +25.31 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,2048)      |  1.152e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,2048)      |  1.431e+05 | +24.25 %  | +24.25 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,2048)      |  1.395e+05 | -2.54 %   | +21.09 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,2048)      |  1.421e+05 | +1.93 %   | +23.42 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,2048)      |  1.448e+05 | +1.88 %   | +25.75 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,2048)      |  1.426e+05 | -1.56 %   | +23.78 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,2048)      |  1.405e+05 | -1.42 %   | +22.02 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,4096)      |  5.760e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,4096)      |  7.459e+04 | +29.51 %  | +29.51 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,4096)      |  7.448e+04 | -0.16 %   | +29.30 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,4096)      |  7.590e+04 | +1.91 %   | +31.77 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,4096)      |  7.505e+04 | -1.12 %   | +30.30 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,4096)      |  7.665e+04 | +2.14 %   | +33.08 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,4096)      |  7.050e+04 | -8.02 %   | +22.40 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,8192)      |  2.765e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,8192)      |  3.634e+04 | +31.44 %  | +31.44 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,8192)      |  3.666e+04 | +0.87 %   | +32.59 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,8192)      |  3.593e+04 | -2.00 %   | +29.94 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,8192)      |  3.572e+04 | -0.57 %   | +29.20 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,8192)      |  3.526e+04 | -1.30 %   | +27.51 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,8192)      |  3.502e+04 | -0.67 %   | +26.65 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4,16384)     |  1.405e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4,16384)     |  1.859e+04 | +32.35 %  | +32.35 %  | ca481d3 | Optimise numeric multiplication for short inputs.
 (4,16384)     |  1.806e+04 | -2.85 %   | +28.57 %  | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4,16384)     |  1.807e+04 | +0.05 %   | +28.63 %  | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4,16384)     |  1.792e+04 | -0.83 %   | +27.57 %  | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4,16384)     |  1.841e+04 | +2.74 %   | +31.07 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4,16384)     |  1.742e+04 | -5.39 %   | +24.01 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (5,5)         |  1.043e+07 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (5,5)         |  1.035e+07 | -0.82 %   | -0.82 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (5,5)         |  1.051e+07 | +1.60 %   | +0.77 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (5,5)         |  1.034e+07 | -1.60 %   | -0.84 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (5,5)         |  1.017e+07 | -1.64 %   | -2.46 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (5,5)         |  1.795e+07 | +76.45 %  | +72.10 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (5,5)         |  1.843e+07 | +2.67 %   | +76.69 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (6,6)         |  9.775e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (6,6)         |  9.497e+06 | -2.84 %   | -2.84 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (6,6)         |  9.515e+06 | +0.18 %   | -2.66 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (6,6)         |  9.484e+06 | -0.32 %   | -2.97 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (6,6)         |  9.739e+06 | +2.68 %   | -0.37 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (6,6)         |  1.661e+07 | +70.60 %  | +69.98 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (6,6)         |  1.661e+07 | -0.01 %   | +69.95 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (7,7)         |  7.308e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (7,7)         |  7.449e+06 | +1.93 %   | +1.93 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (7,7)         |  7.465e+06 | +0.21 %   | +2.14 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (7,7)         |  7.482e+06 | +0.23 %   | +2.38 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (7,7)         |  7.295e+06 | -2.49 %   | -0.18 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (7,7)         |  7.395e+06 | +1.36 %   | +1.18 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (7,7)         |  1.017e+07 | +37.49 %  | +39.12 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,8)         |  7.916e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,8)         |  8.206e+06 | +3.67 %   | +3.67 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,8)         |  8.135e+06 | -0.87 %   | +2.77 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,8)         |  7.981e+06 | -1.90 %   | +0.82 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,8)         |  8.065e+06 | +1.06 %   | +1.88 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,8)         |  8.048e+06 | -0.21 %   | +1.68 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,8)         |  9.559e+06 | +18.77 %  | +20.76 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,16)        |  6.325e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,16)        |  6.449e+06 | +1.95 %   | +1.95 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,16)        |  6.367e+06 | -1.27 %   | +0.66 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,16)        |  6.396e+06 | +0.46 %   | +1.12 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,16)        |  6.409e+06 | +0.19 %   | +1.32 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,16)        |  6.500e+06 | +1.42 %   | +2.76 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,16)        |  8.506e+06 | +30.86 %  | +34.47 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,32)        |  4.313e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,32)        |  4.489e+06 | +4.09 %   | +4.09 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,32)        |  4.369e+06 | -2.68 %   | +1.30 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,32)        |  4.350e+06 | -0.42 %   | +0.87 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,32)        |  4.246e+06 | -2.40 %   | -1.55 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,32)        |  4.323e+06 | +1.81 %   | +0.23 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,32)        |  6.039e+06 | +39.70 %  | +40.02 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,64)        |  2.722e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,64)        |  2.701e+06 | -0.77 %   | -0.77 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,64)        |  2.696e+06 | -0.21 %   | -0.97 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,64)        |  2.624e+06 | -2.67 %   | -3.61 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,64)        |  2.648e+06 | +0.93 %   | -2.72 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,64)        |  2.661e+06 | +0.50 %   | -2.23 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,64)        |  3.850e+06 | +44.64 %  | +41.42 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,128)       |  1.408e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,128)       |  1.395e+06 | -0.97 %   | -0.97 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,128)       |  1.459e+06 | +4.61 %   | +3.59 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,128)       |  1.494e+06 | +2.42 %   | +6.10 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,128)       |  1.423e+06 | -4.76 %   | +1.05 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,128)       |  1.381e+06 | -2.97 %   | -1.95 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,128)       |  2.222e+06 | +60.92 %  | +57.78 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,256)       |  7.400e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,256)       |  7.553e+05 | +2.06 %   | +2.06 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,256)       |  7.425e+05 | -1.69 %   | +0.34 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,256)       |  7.503e+05 | +1.05 %   | +1.39 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,256)       |  7.493e+05 | -0.13 %   | +1.26 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,256)       |  7.172e+05 | -4.29 %   | -3.08 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,256)       |  1.145e+06 | +59.66 %  | +54.74 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,512)       |  3.836e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,512)       |  3.803e+05 | -0.87 %   | -0.87 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,512)       |  3.805e+05 | +0.04 %   | -0.83 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,512)       |  3.765e+05 | -1.03 %   | -1.85 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,512)       |  3.936e+05 | +4.53 %   | +2.59 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,512)       |  3.657e+05 | -7.09 %   | -4.69 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,512)       |  6.337e+05 | +73.30 %  | +65.18 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,1024)      |  2.028e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,1024)      |  2.089e+05 | +3.06 %   | +3.06 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,1024)      |  2.070e+05 | -0.95 %   | +2.08 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,1024)      |  2.010e+05 | -2.90 %   | -0.88 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,1024)      |  2.011e+05 | +0.09 %   | -0.79 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,1024)      |  2.087e+05 | +3.77 %   | +2.95 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,1024)      |  3.206e+05 | +53.60 %  | +58.13 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,2048)      |  9.974e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,2048)      |  9.833e+04 | -1.40 %   | -1.40 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,2048)      |  1.000e+05 | +1.72 %   | +0.29 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,2048)      |  1.006e+05 | +0.57 %   | +0.87 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,2048)      |  9.783e+04 | -2.76 %   | -1.91 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,2048)      |  1.022e+05 | +4.43 %   | +2.43 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,2048)      |  1.575e+05 | +54.22 %  | +57.97 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,4096)      |  5.160e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,4096)      |  5.257e+04 | +1.89 %   | +1.89 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,4096)      |  5.111e+04 | -2.78 %   | -0.94 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,4096)      |  5.306e+04 | +3.82 %   | +2.85 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,4096)      |  5.112e+04 | -3.67 %   | -0.93 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,4096)      |  5.116e+04 | +0.08 %   | -0.85 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,4096)      |  8.478e+04 | +65.72 %  | +64.32 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,8192)      |  2.424e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,8192)      |  2.380e+04 | -1.80 %   | -1.80 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,8192)      |  2.470e+04 | +3.75 %   | +1.88 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,8192)      |  2.407e+04 | -2.55 %   | -0.72 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,8192)      |  2.426e+04 | +0.80 %   | +0.08 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,8192)      |  2.402e+04 | -0.97 %   | -0.89 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,8192)      |  3.904e+04 | +62.50 %  | +61.06 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8,16384)     |  1.232e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8,16384)     |  1.209e+04 | -1.81 %   | -1.81 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8,16384)     |  1.207e+04 | -0.20 %   | -2.01 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8,16384)     |  1.188e+04 | -1.60 %   | -3.58 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8,16384)     |  1.210e+04 | +1.89 %   | -1.76 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8,16384)     |  1.219e+04 | +0.78 %   | -0.99 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8,16384)     |  1.986e+04 | +62.86 %  | +61.24 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,16)       |  4.209e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,16)       |  4.381e+06 | +4.08 %   | +4.08 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,16)       |  4.240e+06 | -3.20 %   | +0.75 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,16)       |  4.261e+06 | +0.50 %   | +1.25 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,16)       |  4.344e+06 | +1.94 %   | +3.22 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,16)       |  4.390e+06 | +1.06 %   | +4.32 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,16)       |  6.024e+06 | +37.21 %  | +43.13 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,32)       |  3.234e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,32)       |  3.386e+06 | +4.68 %   | +4.68 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,32)       |  3.328e+06 | -1.72 %   | +2.89 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,32)       |  3.351e+06 | +0.70 %   | +3.61 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,32)       |  3.288e+06 | -1.89 %   | +1.65 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,32)       |  3.239e+06 | -1.49 %   | +0.14 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,32)       |  4.868e+06 | +50.31 %  | +50.51 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,64)       |  2.044e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,64)       |  2.044e+06 | 0.00 %    | 0.00 %    | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,64)       |  2.044e+06 | +0.01 %   | 0.00 %    | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,64)       |  2.009e+06 | -1.69 %   | -1.68 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,64)       |  2.085e+06 | +3.75 %   | +2.00 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,64)       |  1.808e+06 | -13.27 %  | -11.53 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,64)       |  3.306e+06 | +82.88 %  | +61.79 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,128)      |  1.130e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,128)      |  1.133e+06 | +0.22 %   | +0.22 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,128)      |  1.140e+06 | +0.61 %   | +0.83 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,128)      |  1.144e+06 | +0.37 %   | +1.21 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,128)      |  1.153e+06 | +0.80 %   | +2.02 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,128)      |  1.019e+06 | -11.58 %  | -9.79 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,128)      |  1.905e+06 | +86.82 %  | +68.53 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,256)      |  5.782e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,256)      |  5.903e+05 | +2.10 %   | +2.10 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,256)      |  6.019e+05 | +1.96 %   | +4.10 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,256)      |  5.733e+05 | -4.74 %   | -0.84 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,256)      |  6.001e+05 | +4.67 %   | +3.79 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,256)      |  5.447e+05 | -9.22 %   | -5.78 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,256)      |  9.676e+05 | +77.62 %  | +67.35 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,512)      |  3.038e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,512)      |  3.031e+05 | -0.22 %   | -0.22 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,512)      |  3.123e+05 | +3.01 %   | +2.78 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,512)      |  3.032e+05 | -2.91 %   | -0.21 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,512)      |  2.998e+05 | -1.13 %   | -1.34 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,512)      |  2.933e+05 | -2.16 %   | -3.46 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,512)      |  5.296e+05 | +80.58 %  | +74.33 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,1024)     |  1.662e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,1024)     |  1.632e+05 | -1.83 %   | -1.83 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,1024)     |  1.665e+05 | +2.01 %   | +0.14 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,1024)     |  1.696e+05 | +1.90 %   | +2.04 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,1024)     |  1.650e+05 | -2.73 %   | -0.74 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,1024)     |  1.660e+05 | +0.62 %   | -0.13 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,1024)     |  2.755e+05 | +65.92 %  | +65.71 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,2048)     |  8.053e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,2048)     |  8.282e+04 | +2.84 %   | +2.84 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,2048)     |  8.382e+04 | +1.21 %   | +4.08 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,2048)     |  8.044e+04 | -4.03 %   | -0.12 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,2048)     |  8.025e+04 | -0.24 %   | -0.36 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,2048)     |  8.147e+04 | +1.53 %   | +1.17 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,2048)     |  1.357e+05 | +66.59 %  | +68.54 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,4096)     |  4.231e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,4096)     |  4.152e+04 | -1.87 %   | -1.87 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,4096)     |  4.190e+04 | +0.94 %   | -0.95 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,4096)     |  4.115e+04 | -1.80 %   | -2.74 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,4096)     |  4.117e+04 | +0.05 %   | -2.69 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,4096)     |  4.268e+04 | +3.67 %   | +0.88 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,4096)     |  7.145e+04 | +67.41 %  | +68.88 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,8192)     |  1.917e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,8192)     |  1.923e+04 | +0.33 %   | +0.33 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,8192)     |  1.923e+04 | -0.01 %   | +0.32 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,8192)     |  1.905e+04 | -0.95 %   | -0.63 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,8192)     |  1.942e+04 | +1.95 %   | +1.30 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,8192)     |  1.976e+04 | +1.76 %   | +3.09 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,8192)     |  3.238e+04 | +63.88 %  | +68.95 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16,16384)    |  9.644e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16,16384)    |  9.647e+03 | +0.02 %   | +0.02 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16,16384)    |  9.473e+03 | -1.80 %   | -1.78 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16,16384)    |  1.002e+04 | +5.73 %   | +3.85 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16,16384)    |  9.389e+03 | -6.26 %   | -2.65 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16,16384)    |  9.645e+03 | +2.73 %   | +0.01 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16,16384)    |  1.622e+04 | +68.14 %  | +68.15 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (32,32)       |  2.013e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (32,32)       |  2.046e+06 | +1.65 %   | +1.65 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (32,32)       |  2.026e+06 | -0.96 %   | +0.67 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (32,32)       |  2.051e+06 | +1.19 %   | +1.87 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (32,32)       |  2.060e+06 | +0.44 %   | +2.32 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (32,32)       |  1.786e+06 | -13.27 %  | -11.26 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (32,32)       |  3.408e+06 | +90.80 %  | +69.32 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (32,64)       |  1.406e+06 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (32,64)       |  1.354e+06 | -3.69 %   | -3.69 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (32,64)       |  1.395e+06 | +2.99 %   | -0.81 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (32,64)       |  1.370e+06 | -1.77 %   | -2.56 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (32,64)       |  1.343e+06 | -1.97 %   | -4.48 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (32,64)       |  1.119e+06 | -16.72 %  | -20.45 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (32,64)       |  2.356e+06 | +110.63 % | +67.56 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (32,128)      |  7.979e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (32,128)      |  8.295e+05 | +3.96 %   | +3.96 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (32,128)      |  8.132e+05 | -1.96 %   | +1.92 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (32,128)      |  8.153e+05 | +0.25 %   | +2.18 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (32,128)      |  8.377e+05 | +2.75 %   | +4.98 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (32,128)      |  7.242e+05 | -13.55 %  | -9.24 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (32,128)      |  1.393e+06 | +92.39 %  | +74.61 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (32,256)      |  4.770e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (32,256)      |  4.680e+05 | -1.89 %   | -1.89 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (32,256)      |  4.595e+05 | -1.82 %   | -3.67 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (32,256)      |  4.645e+05 | +1.09 %   | -2.63 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (32,256)      |  4.557e+05 | -1.88 %   | -4.46 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (32,256)      |  4.161e+05 | -8.69 %   | -12.76 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (32,256)      |  7.811e+05 | +87.71 %  | +63.75 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (32,512)      |  2.304e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (32,512)      |  2.260e+05 | -1.94 %   | -1.94 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (32,512)      |  2.321e+05 | +2.73 %   | +0.73 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (32,512)      |  2.262e+05 | -2.55 %   | -1.84 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (32,512)      |  2.202e+05 | -2.64 %   | -4.43 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (32,512)      |  2.125e+05 | -3.50 %   | -7.77 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (32,512)      |  4.050e+05 | +90.56 %  | +75.75 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (32,1024)     |  1.178e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (32,1024)     |  1.221e+05 | +3.65 %   | +3.65 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (32,1024)     |  1.167e+05 | -4.40 %   | -0.92 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (32,1024)     |  1.211e+05 | +3.74 %   | +2.79 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (32,1024)     |  1.196e+05 | -1.20 %   | +1.56 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (32,1024)     |  1.188e+05 | -0.68 %   | +0.87 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (32,1024)     |  2.097e+05 | +76.48 %  | +78.02 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (32,2048)     |  6.023e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (32,2048)     |  5.920e+04 | -1.72 %   | -1.72 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (32,2048)     |  5.869e+04 | -0.85 %   | -2.56 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (32,2048)     |  5.969e+04 | +1.69 %   | -0.91 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (32,2048)     |  5.970e+04 | +0.02 %   | -0.89 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (32,2048)     |  5.813e+04 | -2.63 %   | -3.49 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (32,2048)     |  1.057e+05 | +81.75 %  | +75.41 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (32,4096)     |  3.015e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (32,4096)     |  3.042e+04 | +0.92 %   | +0.92 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (32,4096)     |  3.015e+04 | -0.91 %   | 0.00 %    | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (32,4096)     |  3.042e+04 | +0.91 %   | +0.91 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (32,4096)     |  3.101e+04 | +1.93 %   | +2.85 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (32,4096)     |  3.015e+04 | -2.77 %   | 0.00 %    | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (32,4096)     |  5.671e+04 | +88.11 %  | +88.12 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (32,8192)     |  1.397e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (32,8192)     |  1.358e+04 | -2.79 %   | -2.79 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (32,8192)     |  1.346e+04 | -0.91 %   | -3.68 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (32,8192)     |  1.371e+04 | +1.87 %   | -1.88 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (32,8192)     |  1.360e+04 | -0.78 %   | -2.65 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (32,8192)     |  1.371e+04 | +0.78 %   | -1.89 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (32,8192)     |  2.439e+04 | +77.94 %  | +74.58 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (32,16384)    |  6.677e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (32,16384)    |  6.734e+03 | +0.85 %   | +0.85 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (32,16384)    |  6.798e+03 | +0.94 %   | +1.80 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (32,16384)    |  6.858e+03 | +0.89 %   | +2.70 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (32,16384)    |  6.617e+03 | -3.51 %   | -0.90 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (32,16384)    |  6.991e+03 | +5.65 %   | +4.70 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (32,16384)    |  1.212e+04 | +73.37 %  | +81.51 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (64,64)       |  7.302e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (64,64)       |  6.785e+05 | -7.08 %   | -7.08 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (64,64)       |  7.102e+05 | +4.67 %   | -2.74 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (64,64)       |  7.107e+05 | +0.07 %   | -2.67 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (64,64)       |  7.102e+05 | -0.07 %   | -2.74 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (64,64)       |  5.515e+05 | -22.34 %  | -24.47 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (64,64)       |  1.432e+06 | +159.69 % | +96.14 %  | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (64,128)      |  3.659e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (64,128)      |  3.689e+05 | +0.82 %   | +0.82 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (64,128)      |  3.663e+05 | -0.71 %   | +0.10 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (64,128)      |  3.767e+05 | +2.86 %   | +2.96 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (64,128)      |  3.762e+05 | -0.15 %   | +2.81 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (64,128)      |  3.204e+05 | -14.83 %  | -12.44 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (64,128)      |  9.630e+05 | +200.58 % | +163.19 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (64,256)      |  2.509e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (64,256)      |  2.396e+05 | -4.52 %   | -4.52 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (64,256)      |  2.440e+05 | +1.84 %   | -2.77 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (64,256)      |  2.372e+05 | -2.77 %   | -5.47 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (64,256)      |  2.394e+05 | +0.91 %   | -4.60 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (64,256)      |  2.194e+05 | -8.36 %   | -12.57 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (64,256)      |  5.368e+05 | +144.70 % | +113.94 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (64,512)      |  1.193e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (64,512)      |  1.203e+05 | +0.80 %   | +0.80 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (64,512)      |  1.213e+05 | +0.82 %   | +1.63 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (64,512)      |  1.201e+05 | -0.93 %   | +0.68 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (64,512)      |  1.196e+05 | -0.43 %   | +0.25 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (64,512)      |  1.121e+05 | -6.32 %   | -6.09 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (64,512)      |  2.865e+05 | +155.62 % | +140.06 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (64,1024)     |  5.983e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (64,1024)     |  6.092e+04 | +1.81 %   | +1.81 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (64,1024)     |  6.036e+04 | -0.91 %   | +0.88 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (64,1024)     |  6.092e+04 | +0.93 %   | +1.82 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (64,1024)     |  6.095e+04 | +0.05 %   | +1.87 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (64,1024)     |  6.044e+04 | -0.84 %   | +1.02 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (64,1024)     |  1.462e+05 | +141.83 % | +144.29 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (64,2048)     |  3.104e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (64,2048)     |  3.160e+04 | +1.80 %   | +1.80 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (64,2048)     |  3.160e+04 | -0.01 %   | +1.79 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (64,2048)     |  3.133e+04 | -0.87 %   | +0.91 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (64,2048)     |  3.103e+04 | -0.96 %   | -0.06 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (64,2048)     |  3.131e+04 | +0.91 %   | +0.85 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (64,2048)     |  7.198e+04 | +129.92 % | +131.88 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (64,4096)     |  1.603e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (64,4096)     |  1.618e+04 | +0.93 %   | +0.93 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (64,4096)     |  1.589e+04 | -1.76 %   | -0.85 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (64,4096)     |  1.589e+04 | -0.04 %   | -0.89 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (64,4096)     |  1.589e+04 | +0.01 %   | -0.87 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (64,4096)     |  1.560e+04 | -1.85 %   | -2.70 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (64,4096)     |  3.748e+04 | +140.29 % | +133.80 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (64,8192)     |  7.092e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (64,8192)     |  7.085e+03 | -0.11 %   | -0.11 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (64,8192)     |  7.026e+03 | -0.83 %   | -0.93 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (64,8192)     |  7.170e+03 | +2.04 %   | +1.09 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (64,8192)     |  7.092e+03 | -1.09 %   | -0.01 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (64,8192)     |  7.081e+03 | -0.15 %   | -0.15 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (64,8192)     |  1.591e+04 | +124.70 % | +124.36 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (64,16384)    |  3.516e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (64,16384)    |  3.548e+03 | +0.91 %   | +0.91 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (64,16384)    |  3.546e+03 | -0.05 %   | +0.85 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (64,16384)    |  3.581e+03 | +0.98 %   | +1.84 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (64,16384)    |  3.553e+03 | -0.79 %   | +1.04 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (64,16384)    |  3.579e+03 | +0.75 %   | +1.80 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (64,16384)    |  7.986e+03 | +123.12 % | +127.13 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (128,128)     |  2.065e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (128,128)     |  2.086e+05 | +1.01 %   | +1.01 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (128,128)     |  2.106e+05 | +0.96 %   | +1.99 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (128,128)     |  2.126e+05 | +0.97 %   | +2.97 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (128,128)     |  2.084e+05 | -1.99 %   | +0.92 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (128,128)     |  1.750e+05 | -16.01 %  | -15.24 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (128,128)     |  5.567e+05 | +218.07 % | +169.60 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (128,256)     |  1.225e+05 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (128,256)     |  1.247e+05 | +1.86 %   | +1.86 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (128,256)     |  1.281e+05 | +2.73 %   | +4.64 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (128,256)     |  1.297e+05 | +1.23 %   | +5.93 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (128,256)     |  1.247e+05 | -3.84 %   | +1.86 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (128,256)     |  1.142e+05 | -8.41 %   | -6.71 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (128,256)     |  3.410e+05 | +198.51 % | +178.48 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (128,512)     |  6.696e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (128,512)     |  6.699e+04 | +0.05 %   | +0.05 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (128,512)     |  6.749e+04 | +0.74 %   | +0.79 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (128,512)     |  6.821e+04 | +1.07 %   | +1.86 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (128,512)     |  6.348e+04 | -6.94 %   | -5.20 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (128,512)     |  6.313e+04 | -0.54 %   | -5.72 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (128,512)     |  1.842e+05 | +191.83 % | +175.14 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (128,1024)    |  3.443e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (128,1024)    |  3.365e+04 | -2.27 %   | -2.27 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (128,1024)    |  3.350e+04 | -0.45 %   | -2.71 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (128,1024)    |  3.380e+04 | +0.91 %   | -1.83 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (128,1024)    |  3.354e+04 | -0.79 %   | -2.60 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (128,1024)    |  3.380e+04 | +0.79 %   | -1.83 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (128,1024)    |  8.632e+04 | +155.39 % | +150.71 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (128,2048)    |  1.755e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (128,2048)    |  1.741e+04 | -0.83 %   | -0.83 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (128,2048)    |  1.709e+04 | -1.80 %   | -2.61 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (128,2048)    |  1.738e+04 | +1.68 %   | -0.97 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (128,2048)    |  1.758e+04 | +1.14 %   | +0.16 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (128,2048)    |  1.742e+04 | -0.90 %   | -0.74 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (128,2048)    |  4.631e+04 | +165.82 % | +163.84 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (128,4096)    |  8.514e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (128,4096)    |  8.674e+03 | +1.88 %   | +1.88 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (128,4096)    |  8.581e+03 | -1.07 %   | +0.78 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (128,4096)    |  8.433e+03 | -1.72 %   | -0.95 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (128,4096)    |  8.273e+03 | -1.90 %   | -2.83 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (128,4096)    |  8.338e+03 | +0.79 %   | -2.06 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (128,4096)    |  2.386e+04 | +186.19 % | +180.30 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (128,8192)    |  3.891e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (128,8192)    |  4.037e+03 | +3.76 %   | +3.76 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (128,8192)    |  3.880e+03 | -3.90 %   | -0.29 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (128,8192)    |  3.920e+03 | +1.05 %   | +0.76 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (128,8192)    |  3.856e+03 | -1.65 %   | -0.91 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (128,8192)    |  3.916e+03 | +1.58 %   | +0.66 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (128,8192)    |  9.759e+03 | +149.19 % | +150.83 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (128,16384)   |  1.895e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (128,16384)   |  1.931e+03 | +1.90 %   | +1.90 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (128,16384)   |  1.895e+03 | -1.88 %   | -0.01 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (128,16384)   |  1.911e+03 | +0.88 %   | +0.87 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (128,16384)   |  1.929e+03 | +0.95 %   | +1.83 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (128,16384)   |  1.912e+03 | -0.92 %   | +0.89 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (128,16384)   |  4.829e+03 | +152.60 % | +154.85 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (256,256)     |  5.990e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (256,256)     |  5.853e+04 | -2.29 %   | -2.29 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (256,256)     |  5.875e+04 | +0.37 %   | -1.93 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (256,256)     |  5.876e+04 | +0.02 %   | -1.91 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (256,256)     |  5.697e+04 | -3.05 %   | -4.90 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (256,256)     |  5.288e+04 | -7.17 %   | -11.72 %  | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (256,256)     |  1.712e+05 | +223.70 % | +185.77 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (256,512)     |  3.232e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (256,512)     |  3.357e+04 | +3.88 %   | +3.88 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (256,512)     |  3.234e+04 | -3.66 %   | +0.08 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (256,512)     |  3.296e+04 | +1.92 %   | +2.00 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (256,512)     |  3.094e+04 | -6.12 %   | -4.25 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (256,512)     |  3.064e+04 | -0.99 %   | -5.20 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (256,512)     |  1.019e+05 | +232.50 % | +215.22 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (256,1024)    |  1.711e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (256,1024)    |  1.742e+04 | +1.82 %   | +1.82 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (256,1024)    |  1.742e+04 | -0.01 %   | +1.81 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (256,1024)    |  1.693e+04 | -2.78 %   | -1.02 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (256,1024)    |  1.742e+04 | +2.91 %   | +1.85 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (256,1024)    |  1.710e+04 | -1.84 %   | -0.02 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (256,1024)    |  4.881e+04 | +185.38 % | +185.31 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (256,2048)    |  9.051e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (256,2048)    |  8.710e+03 | -3.77 %   | -3.77 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (256,2048)    |  8.652e+03 | -0.67 %   | -4.41 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (256,2048)    |  8.796e+03 | +1.66 %   | -2.82 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (256,2048)    |  8.622e+03 | -1.98 %   | -4.75 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (256,2048)    |  8.616e+03 | -0.07 %   | -4.81 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (256,2048)    |  2.530e+04 | +193.63 % | +179.51 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (256,4096)    |  4.409e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (256,4096)    |  4.455e+03 | +1.05 %   | +1.05 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (256,4096)    |  4.379e+03 | -1.71 %   | -0.67 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (256,4096)    |  4.348e+03 | -0.72 %   | -1.39 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (256,4096)    |  4.454e+03 | +2.45 %   | +1.03 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (256,4096)    |  4.373e+03 | -1.83 %   | -0.82 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (256,4096)    |  1.345e+04 | +207.51 % | +204.98 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (256,8192)    |  1.986e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (256,8192)    |  1.934e+03 | -2.58 %   | -2.58 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (256,8192)    |  1.986e+03 | +2.68 %   | +0.02 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (256,8192)    |  1.959e+03 | -1.37 %   | -1.35 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (256,8192)    |  2.004e+03 | +2.32 %   | +0.94 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (256,8192)    |  1.966e+03 | -1.90 %   | -0.98 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (256,8192)    |  5.460e+03 | +177.66 % | +174.94 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (256,16384)   |  1.003e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (256,16384)   |  9.851e+02 | -1.79 %   | -1.79 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (256,16384)   |  9.836e+02 | -0.14 %   | -1.94 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (256,16384)   |  9.753e+02 | -0.85 %   | -2.77 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (256,16384)   |  1.037e+03 | +6.35 %   | +3.40 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (256,16384)   |  9.946e+02 | -4.11 %   | -0.85 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (256,16384)   |  2.661e+03 | +167.57 % | +165.30 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (512,512)     |  1.685e+04 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (512,512)     |  1.653e+04 | -1.86 %   | -1.86 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (512,512)     |  1.668e+04 | +0.90 %   | -0.97 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (512,512)     |  1.684e+04 | +0.93 %   | -0.06 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (512,512)     |  1.600e+04 | -4.96 %   | -5.01 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (512,512)     |  1.555e+04 | -2.80 %   | -7.67 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (512,512)     |  5.216e+04 | +235.33 % | +209.61 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (512,1024)    |  8.525e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (512,1024)    |  8.730e+03 | +2.41 %   | +2.41 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (512,1024)    |  8.568e+03 | -1.87 %   | +0.50 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (512,1024)    |  8.566e+03 | -0.02 %   | +0.48 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (512,1024)    |  8.566e+03 | -0.01 %   | +0.47 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (512,1024)    |  8.697e+03 | +1.53 %   | +2.01 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (512,1024)    |  2.679e+04 | +208.07 % | +214.26 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (512,2048)    |  4.402e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (512,2048)    |  4.362e+03 | -0.91 %   | -0.91 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (512,2048)    |  4.401e+03 | +0.91 %   | -0.01 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (512,2048)    |  4.398e+03 | -0.07 %   | -0.08 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (512,2048)    |  4.359e+03 | -0.90 %   | -0.98 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (512,2048)    |  4.362e+03 | +0.08 %   | -0.90 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (512,2048)    |  1.383e+04 | +216.94 % | +214.08 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (512,4096)    |  2.316e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (512,4096)    |  2.232e+03 | -3.61 %   | -3.61 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (512,4096)    |  2.215e+03 | -0.77 %   | -4.35 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (512,4096)    |  2.188e+03 | -1.21 %   | -5.50 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (512,4096)    |  2.230e+03 | +1.89 %   | -3.72 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (512,4096)    |  2.252e+03 | +0.98 %   | -2.77 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (512,4096)    |  7.158e+03 | +217.91 % | +209.10 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (512,8192)    |  9.847e+02 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (512,8192)    |  1.015e+03 | +3.04 %   | +3.04 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (512,8192)    |  1.008e+03 | -0.62 %   | +2.40 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (512,8192)    |  1.022e+03 | +1.33 %   | +3.77 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (512,8192)    |  1.011e+03 | -1.09 %   | +2.64 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (512,8192)    |  9.940e+02 | -1.65 %   | +0.94 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (512,8192)    |  2.849e+03 | +186.61 % | +189.31 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (512,16384)   |  5.133e+02 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (512,16384)   |  5.032e+02 | -1.97 %   | -1.97 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (512,16384)   |  4.949e+02 | -1.64 %   | -3.58 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (512,16384)   |  5.035e+02 | +1.73 %   | -1.91 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (512,16384)   |  5.130e+02 | +1.90 %   | -0.05 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (512,16384)   |  4.992e+02 | -2.69 %   | -2.74 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (512,16384)   |  1.464e+03 | +193.16 % | +185.13 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1024,1024)   |  4.277e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1024,1024)   |  4.232e+03 | -1.04 %   | -1.04 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (1024,1024)   |  4.194e+03 | -0.90 %   | -1.93 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1024,1024)   |  4.195e+03 | +0.03 %   | -1.91 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1024,1024)   |  4.341e+03 | +3.48 %   | +1.51 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1024,1024)   |  4.155e+03 | -4.28 %   | -2.84 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1024,1024)   |  1.360e+04 | +227.21 % | +217.91 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1024,2048)   |  2.189e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1024,2048)   |  2.168e+03 | -0.93 %   | -0.93 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (1024,2048)   |  2.169e+03 | +0.04 %   | -0.89 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1024,2048)   |  2.272e+03 | +4.73 %   | +3.80 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1024,2048)   |  2.189e+03 | -3.66 %   | 0.00 %    | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1024,2048)   |  2.185e+03 | -0.18 %   | -0.18 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1024,2048)   |  7.159e+03 | +227.65 % | +227.07 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1024,4096)   |  1.125e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1024,4096)   |  1.125e+03 | +0.01 %   | +0.01 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (1024,4096)   |  1.115e+03 | -0.91 %   | -0.89 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1024,4096)   |  1.125e+03 | +0.91 %   | +0.01 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1024,4096)   |  1.157e+03 | +2.81 %   | +2.83 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1024,4096)   |  1.136e+03 | -1.81 %   | +0.97 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1024,4096)   |  3.707e+03 | +226.42 % | +229.59 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1024,8192)   |  5.046e+02 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1024,8192)   |  5.134e+02 | +1.73 %   | +1.73 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (1024,8192)   |  5.141e+02 | +0.14 %   | +1.88 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1024,8192)   |  5.135e+02 | -0.11 %   | +1.76 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1024,8192)   |  5.045e+02 | -1.76 %   | -0.03 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1024,8192)   |  5.041e+02 | -0.09 %   | -0.12 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1024,8192)   |  1.464e+03 | +190.46 % | +190.12 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (1024,16384)  |  2.511e+02 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (1024,16384)  |  2.532e+02 | +0.83 %   | +0.83 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (1024,16384)  |  2.511e+02 | -0.82 %   | 0.00 %    | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (1024,16384)  |  2.488e+02 | -0.92 %   | -0.92 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (1024,16384)  |  2.490e+02 | +0.05 %   | -0.87 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (1024,16384)  |  2.487e+02 | -0.10 %   | -0.96 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (1024,16384)  |  7.248e+02 | +191.41 % | +188.60 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2048,2048)   |  1.093e+03 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2048,2048)   |  1.114e+03 | +1.90 %   | +1.90 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (2048,2048)   |  1.064e+03 | -4.54 %   | -2.72 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2048,2048)   |  1.073e+03 | +0.91 %   | -1.84 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2048,2048)   |  1.083e+03 | +0.87 %   | -0.99 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2048,2048)   |  1.077e+03 | -0.52 %   | -1.51 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2048,2048)   |  3.743e+03 | +247.54 % | +242.31 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2048,4096)   |  5.569e+02 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2048,4096)   |  5.471e+02 | -1.77 %   | -1.77 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (2048,4096)   |  5.575e+02 | +1.91 %   | +0.11 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2048,4096)   |  5.473e+02 | -1.82 %   | -1.72 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2048,4096)   |  5.628e+02 | +2.82 %   | +1.05 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2048,4096)   |  5.520e+02 | -1.90 %   | -0.87 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2048,4096)   |  1.889e+03 | +242.23 % | +239.23 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2048,8192)   |  2.523e+02 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2048,8192)   |  2.521e+02 | -0.04 %   | -0.04 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (2048,8192)   |  2.545e+02 | +0.94 %   | +0.90 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2048,8192)   |  2.569e+02 | +0.92 %   | +1.83 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2048,8192)   |  2.477e+02 | -3.59 %   | -1.82 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2048,8192)   |  2.521e+02 | +1.79 %   | -0.06 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2048,8192)   |  7.424e+02 | +194.50 % | +194.31 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (2048,16384)  |  1.251e+02 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (2048,16384)  |  1.274e+02 | +1.83 %   | +1.83 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (2048,16384)  |  1.312e+02 | +3.03 %   | +4.92 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (2048,16384)  |  1.298e+02 | -1.09 %   | +3.77 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (2048,16384)  |  1.263e+02 | -2.71 %   | +0.96 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (2048,16384)  |  1.262e+02 | -0.09 %   | +0.87 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (2048,16384)  |  3.753e+02 | +197.41 % | +199.99 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4096,4096)   |  2.645e+02 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4096,4096)   |  2.645e+02 | -0.01 %   | -0.01 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (4096,4096)   |  2.669e+02 | +0.89 %   | +0.88 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4096,4096)   |  2.646e+02 | -0.84 %   | +0.03 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4096,4096)   |  2.705e+02 | +2.21 %   | +2.24 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4096,4096)   |  2.743e+02 | +1.41 %   | +3.68 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4096,4096)   |  9.454e+02 | +244.67 % | +257.36 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4096,8192)   |  1.258e+02 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4096,8192)   |  1.234e+02 | -1.89 %   | -1.89 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (4096,8192)   |  1.244e+02 | +0.77 %   | -1.14 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4096,8192)   |  1.257e+02 | +1.09 %   | -0.06 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4096,8192)   |  1.236e+02 | -1.69 %   | -1.75 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4096,8192)   |  1.245e+02 | +0.76 %   | -1.00 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4096,8192)   |  3.863e+02 | +210.20 % | +207.09 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (4096,16384)  |  6.339e+01 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (4096,16384)  |  6.442e+01 | +1.62 %   | +1.62 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (4096,16384)  |  6.339e+01 | -1.59 %   | 0.00 %    | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (4096,16384)  |  6.288e+01 | -0.81 %   | -0.80 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (4096,16384)  |  6.312e+01 | +0.38 %   | -0.43 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (4096,16384)  |  6.536e+01 | +3.55 %   | +3.10 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (4096,16384)  |  1.842e+02 | +181.84 % | +190.58 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8192,8192)   |  5.904e+01 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8192,8192)   |  5.957e+01 | +0.91 %   | +0.91 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8192,8192)   |  6.031e+01 | +1.24 %   | +2.16 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8192,8192)   |  5.898e+01 | -2.21 %   | -0.10 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8192,8192)   |  6.206e+01 | +5.22 %   | +5.11 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8192,8192)   |  6.157e+01 | -0.79 %   | +4.29 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8192,8192)   |  1.950e+02 | +216.66 % | +230.24 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (8192,16384)  |  3.029e+01 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (8192,16384)  |  3.095e+01 | +2.19 %   | +2.19 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (8192,16384)  |  3.057e+01 | -1.22 %   | +0.94 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (8192,16384)  |  3.077e+01 | +0.63 %   | +1.57 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (8192,16384)  |  3.117e+01 | +1.31 %   | +2.90 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (8192,16384)  |  3.147e+01 | +0.98 %   | +3.91 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (8192,16384)  |  9.908e+01 | +214.79 % | +227.10 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2
 (16384,16384) |  1.515e+01 |           |           | 42de72f | SQL/JSON: Various improvements to SQL/JSON query f
 (16384,16384) |  1.481e+01 | -2.19 %   | -2.19 %   | ca481d3 | Optimise numeric multiplication for short inputs.
 (16384,16384) |  1.474e+01 | -0.51 %   | -2.69 %   | 628c1d1 | Use diff's --strip-trailing-cr flag where appropri
 (16384,16384) |  1.485e+01 | +0.75 %   | -1.96 %   | 0dcf753 | Improve the numeric width_bucket() computation. Fo
 (16384,16384) |  1.542e+01 | +3.84 %   | +1.80 %   | da87dc0 | Add missing pointer dereference in pg_backend_memo
 (16384,16384) |  1.538e+01 | -0.27 %   | +1.53 %   | v3-0001 | Extend mul_var_short() to 5 and 6-digit inputs. Co
 (16384,16384) |  4.689e+01 | +204.93 % | +209.58 % | v3-0002 | Optimise numeric multiplication using base-NBASE^2

/Joel



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Remove dead code generation tools in src/backend/utils/mb/
Next
From: Peter Eisentraut
Date:
Subject: Re: Virtual generated columns