B-Prolog has a fast
Prolog engine, a cutting-edge CLP(FD) system, and an
efficient tabling system. The following tables compare the performance of B-Prolog 7.1 (BP, compiled with MVC 6.0) with several other
major Prolog systems, including ECLiPSe
6.0 #42 (EP, compiled with MinW GCC), GNU-Prolog 1.3.0 (GP, byte code, compiler unknown), SICStus-Prolog 4.0.1 (SICS, compiled with MVC 2005),
SWI-Prolog 5.7.1 (compiled with MVC 6.0), XSB 3.1 (compiler unknown), and Yap 5.1.3 (compiler unknown). The comparison was conducted on a Windows XP machine with a
3.0GHz CPU and 1G RAM. The Aquarius benchmark
suite and all the benchmarks used in comparing CLP(FD) and
tabling systems are available at:
probp.com/bench.tar.gz.
Performance data of B-Prolog are also available from some
other sources, such as: logtalk.org/performance.html
Last updated October 22, 2008.
Prolog
Table 1:
Comparison of Prolog systems on CPU time.
| Program |
BP |
EP |
GP |
SICS |
SWI |
XSB |
YAP |
| boyer |
1 |
1.70 |
6.09 |
1.24 |
4.59 |
7.89 |
1.56 |
| browse |
1 |
1.68 |
6.23 |
1.23 |
3.79 |
6.29 |
1.55 |
| chat_parser |
1 |
1.52 |
3.62 |
1.30 |
2.83 |
3.92 |
1.32 |
| crypt |
1 |
1.64 |
6.53 |
1.55 |
5.46 |
5.46 |
1.86 |
| fast_mu |
1 |
1.94 |
6.06 |
1.28 |
4.44 |
5.94 |
1.56 |
| flatten |
1 |
1.41 |
5.51 |
1.15 |
3.86 |
9.71 |
1.40 |
| meta_qsort |
1 |
1.17 |
4.90 |
0.83 |
3.17 |
4.82 |
1.16 |
| mu |
1 |
1.69 |
4.43 |
0.96 |
3.38 |
4.83 |
1.57 |
| nreverse |
1 |
3.41 |
9.08 |
1.34 |
9.81 |
22.63 |
1.51 |
| poly_10 |
1 |
2.16 |
4.86 |
1.25 |
3.88 |
6.47 |
1.82 |
| prover |
1 |
1.64 |
3.78 |
1.00 |
3.05 |
4.95 |
1.61 |
| qsort |
1 |
2.31 |
5.84 |
1.00 |
4.18 |
5.95 |
1.29 |
| queens_8 |
1 |
1.60 |
11.30 |
1.11 |
5.96 |
6.92 |
1.58 |
| query |
1 |
1.54 |
5.16 |
0.93 |
3.62 |
4.77 |
1.54 |
| reducer |
1 |
1.84 |
4.97 |
1.52 |
3.73 |
6.28 |
1.62 |
| sendmore |
1 |
2.97 |
10.27 |
1.72 |
6.15 |
7.80 |
1.80 |
| simple_analyzer |
1 |
1.62 |
4.06 |
1.06 |
3.44 |
5.47 |
1.32 |
| tak |
1 |
3.72 |
16.16 |
2.18 |
8.16 |
13.20 |
4.59 |
| unify |
1 |
2.78 |
10.74 |
1.99 |
7.07 |
11.52 |
3.03 |
| zebra |
1 |
1.09 |
1.45 |
0.78 |
2.07 |
2.54 |
0.85 |
| <mean> |
1 |
1.93 |
6.55 |
1.27 |
4.63 |
7.19 |
1.73 |
| Program |
BP |
EP |
GP |
SICS |
SWI |
XSB |
YAP |
CLP(FD)
Table 2:
Comparison of CLP(FD) systems on CPU time (suite 1).
| Program |
BP |
EP |
GP |
SICS(3.12.5) |
SWI |
| alpha |
1 |
8.80 |
1.21 |
3.78 |
92.- |
| bridge |
1 |
3.02 |
0.85 |
6.06 |
174.- |
| cars |
1 |
4.68 |
0.93 |
1.97 |
125.- |
| color |
1 |
8.68 |
0.97 |
2.97 |
114.- |
| eq10 |
1 |
4.38 |
3.03 |
3.94 |
128.- |
| eq20 |
1 |
4.27 |
1.73 |
2.74 |
72.- |
| magic3 |
1 |
6.54 |
1.09 |
2.83 |
134.- |
| magic4 |
1 |
7.52 |
1.56 |
3.87 |
137.- |
| olympic |
1 |
9.43 |
1.61 |
2.76 |
134.- |
| queens1 |
1 |
13.19 |
1.18 |
12.61 |
264.- |
| sendmoney |
1 |
6.20 |
2.62 |
5.55 |
156.- |
| sudoku81 |
1 |
7.45 |
1.35 |
4.52 |
103.- |
| zebra |
1 |
5.96 |
1.66 |
7.04 |
95.- |
| <mean> |
1 |
6.93 |
1.52 |
4.66 |
133.- |
| Program |
BP |
EP |
GP |
SICS(3.12.5) |
SWI |
Table 3:
Comparison of CLP(FD) systems in BP and SICS on CPU time (suite 2).
| Program |
BP |
SICS(3.12.5) |
| block |
1 |
3.16 |
| color |
1 |
10.01 |
| hamming |
1 |
2.84 |
| hamilton |
1 |
2.95 |
| knapsack |
1 |
6.06 |
| protein |
1 |
2.44 |
| schur |
1 |
7.94 |
| <mean> |
1 |
5.06 |
Tabling
Table 4:
Comparison of tabling systems in BP and XSB on CPU time.
| Program
|
BP
|
XSB
|
| tcl |
1 |
2.42 |
| tcr |
1 |
1.84 |
| tcn |
1 |
1.69 |
| tcm |
1 |
1.81 |
| cs_o |
1 |
1.13 |
| cs_r |
1 |
1.10 |
| disj |
1 |
1.48 |
| gabriel |
1 |
1.48 |
| kalah |
1 |
2.15 |
| pg |
1 |
1.83 |
| peep |
1 |
1.11 |
| read |
1 |
1.08 |
| atr |
1 |
4.47 |
| <mean> |
1 |
1.81 |
|
|
Copyright (C) Afany Software, All rights reserved
|