Performance SWI-Prolog 8.3.5 vs YAP 6.5.0

I have redone performance comparison in the classical van Roy benchmark suite extended with some more recent benchmarks (this suite is used for profile guided optimization). First made the benchmark run again on YAP 6.5.0 and disabled the additions for yap except sieve which needed no porting.

Details:

  • YAP @3298a680300b350a8c56634d020efae252d09422 (Jan 5, 2020)
    • Default ./configure && make && make install
  • SWI-Prolog V8.3.5-18-g7f94d2ebf
    • cmake -G Ninja .. && ninja
  • SWI-Prolog V8.3.5-18-g7f94d2ebf (PGO)
    • cmake -G Ninja .. && ../scripts/pgo-compile.sh && ninja
  • System
    • Ubuntu 20.04, gcc 9.3.0, AMD Ryzen 9 3950X, 64Gb mem

yap swipl swipl -O swipl -O (PGO)
boyer 199 273 275 189 137.19% 138.19% 94.97%
browse 150 258 259 176 172.00% 172.67% 117.33%
chat_parser 219 390 393 298 178.08% 179.45% 136.07%
crypt 255 265 131 109 103.92% 51.37% 42.75%
fast_mu 266 317 239 175 119.17% 89.85% 65.79%
flatten 295 316 279 185 107.12% 94.58% 62.71%
meta_qsort 152 243 234 165 159.87% 153.95% 108.55%
mu 160 320 327 211 200.00% 204.38% 131.88%
nreverse 92 269 273 122 292.39% 296.74% 132.61%
poly_10 231 271 209 159 117.32% 90.48% 68.83%
prover 186 334 337 225 179.57% 181.18% 120.97%
qsort 179 378 306 195 211.17% 170.95% 108.94%
queens_8 373 303 163 117 81.23% 43.70% 31.37%
query 247 298 146 132 120.65% 59.11% 53.44%
reducer 219 337 331 229 153.88% 151.14% 104.57%
sendmore 204 364 140 120 178.43% 68.63% 58.82%
simple_analyzer 238 343 313 222 144.12% 131.51% 93.28%
tak 285 299 207 136 104.91% 72.63% 47.72%
zebra 170 332 340 190 195.29% 200.00% 111.76%
sieve 1524 277 239 195 18.18% 15.68% 12.80%

table generated using https://www.tablesgenerator.com

As chart, shorter bar is better

5 Likes