Hi,

I've written this function to insert several rows at once, and noticed a 
certain postgresql overhead as you can see from the log file. A lot more data 
than the
user data is actually sent over the net. This has a certain noticeable impact 
on the user transmission speed.

I noticed that a libpq query always has a number of arguments of the following 
form:

Oid             paramt[cols]    =       { 1082, 701, 701, 701, 701, 701, 20, 
701 };
int             paraml[cols]    =       { 4, 8, 8, 8, 8, 8, 8, 8 };
int             paramf[cols]    =       { 1, 1, 1, 1, 1, 1, 1, 1 };

result = PQexecParams(psql_cnn, (char* ) &statement,  1, paramt, (const char** 
) paramv, paraml, paramf, 1);

I think the 'paramf' is completely redundant. The data mode, text or binary, is 
already specified in the last argument to 'PQexecParams' and does not have to be
repeated for every value. Am I correct?

Thanks,
Mischa Baars.




semi-prepared

rows_s_max:    1	⥂	🍒 user transmission:    913 kb in 0.3769 s at   2.3670 mb/s	🍋 psql transmission:   7946 kb in 0.3769 s at  20.5932 mb/s
rows_s_max:    2	⥂	🍒 user transmission:    913 kb in 0.2454 s at   3.6351 mb/s	🍋 psql transmission:   6531 kb in 0.2454 s at  25.9928 mb/s
rows_s_max:    4	⥂	🍒 user transmission:    913 kb in 0.1433 s at   6.2249 mb/s	🍋 psql transmission:   5824 kb in 0.1433 s at  39.6920 mb/s
rows_s_max:    8	⥂	🍒 user transmission:    913 kb in 0.1109 s at   8.0434 mb/s	🍋 psql transmission:   5470 kb in 0.1109 s at  48.1737 mb/s
rows_s_max:   16	⥂	🍒 user transmission:    913 kb in 0.0919 s at   9.7027 mb/s	🍋 psql transmission:   5295 kb in 0.0919 s at  56.2540 mb/s
rows_s_max:   32	⥂	🍒 user transmission:    913 kb in 0.0723 s at  12.3401 mb/s	🍋 psql transmission:   5207 kb in 0.0723 s at  70.3444 mb/s
rows_s_max:   64	⥂	🍒 user transmission:    913 kb in 0.0414 s at  21.5674 mb/s	🍋 psql transmission:   5163 kb in 0.0414 s at 121.9069 mb/s
rows_s_max:  128	⥂	🍒 user transmission:    913 kb in 0.0257 s at  34.7756 mb/s	🍋 psql transmission:   5151 kb in 0.0257 s at 196.1400 mb/s
rows_s_max:  256	⥂	🍒 user transmission:    913 kb in 0.0231 s at  38.6210 mb/s	🍋 psql transmission:   5130 kb in 0.0231 s at 216.9408 mb/s
rows_s_max:  512	⥂	🍒 user transmission:    913 kb in 0.0221 s at  40.3377 mb/s	🍋 psql transmission:   5126 kb in 0.0221 s at 226.3668 mb/s
rows_s_max: 1024	⥂	🍒 user transmission:    913 kb in 0.0196 s at  45.4305 mb/s	🍋 psql transmission:   5124 kb in 0.0196 s at 254.8494 mb/s
rows_s_max: 2048	⥂	🍒 user transmission:    913 kb in 0.0228 s at  39.0846 mb/s	🍋 psql transmission:   5123 kb in 0.0228 s at 219.2123 mb/s
rows_s_max: 4096	⥂	🍒 user transmission:    913 kb in 0.0208 s at  42.7914 mb/s	🍋 psql transmission:   5123 kb in 0.0208 s at 239.9980 mb/s

     prepared

rows_s_max:    1	⥂	🍒 user transmission:    913 kb in 0.5783 s at   1.5425 mb/s	🍋 psql transmission:   3904 kb in 0.5783 s at   6.5944 mb/s
rows_s_max:    2	⥂	🍒 user transmission:    913 kb in 0.1869 s at   4.7733 mb/s	🍋 psql transmission:   3094 kb in 0.1869 s at  16.1709 mb/s
rows_s_max:    4	⥂	🍒 user transmission:    913 kb in 0.0945 s at   9.4376 mb/s	🍋 psql transmission:   2689 kb in 0.0945 s at  27.7890 mb/s
rows_s_max:    8	⥂	🍒 user transmission:    913 kb in 0.0628 s at  14.2077 mb/s	🍋 psql transmission:   2487 kb in 0.0628 s at  38.6855 mb/s
rows_s_max:   16	⥂	🍒 user transmission:    913 kb in 0.0312 s at  28.6356 mb/s	🍋 psql transmission:   2387 kb in 0.0312 s at  74.8507 mb/s
rows_s_max:   32	⥂	🍒 user transmission:    913 kb in 0.0211 s at  42.2622 mb/s	🍋 psql transmission:   2336 kb in 0.0211 s at 108.1009 mb/s
rows_s_max:   64	⥂	🍒 user transmission:    913 kb in 0.0174 s at  51.1602 mb/s	🍋 psql transmission:   2311 kb in 0.0174 s at 129.4429 mb/s
rows_s_max:  128	⥂	🍒 user transmission:    913 kb in 0.0178 s at  50.2382 mb/s	🍋 psql transmission:   2298 kb in 0.0178 s at 126.4389 mb/s
rows_s_max:  256	⥂	🍒 user transmission:    913 kb in 0.0150 s at  59.6196 mb/s	🍋 psql transmission:   2292 kb in 0.0150 s at 149.6406 mb/s
rows_s_max:  512	⥂	🍒 user transmission:    913 kb in 0.0161 s at  55.4055 mb/s	🍋 psql transmission:   2289 kb in 0.0161 s at 138.8905 mb/s
rows_s_max: 1024	⥂	🍒 user transmission:    913 kb in 0.0135 s at  66.0811 mb/s	🍋 psql transmission:   2288 kb in 0.0135 s at 165.5707 mb/s
rows_s_max: 2048	⥂	🍒 user transmission:    913 kb in 0.0133 s at  67.0951 mb/s	🍋 psql transmission:   2288 kb in 0.0133 s at 168.0688 mb/s
rows_s_max: 4096	⥂	🍒 user transmission:    913 kb in 0.0135 s at  66.0615 mb/s	🍋 psql transmission:   2288 kb in 0.0135 s at 165.4798 mb/s

Reply via email to