开发者

Which is the best among Visual Prolog, SWI-Prolog, and others? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

Closed 1 year ago.

Improve this question

I have searched the Internet and stackoverflow.com, but got nothing.

Who can give me a compariso开发者_JS百科n between various Prolog compilers/IDEs such as Visual Prolog and SWI-Prolog?

Thanks in advance!


It's hard to go wrong if you start with SWI-Prolog. Although it is slower than most of the alternatives discussed here, it is extremely robust, has broad library support, has a decent GUI-building system (XPCE), and uses a license that allows its use in proprietary applications.

For better speed, it is a simple matter to convert most non-GUI SWI-Prolog applications to run under YAP Prolog.


If speed is the most important aspect, you should consider GNU-Prolog. I recently developed using Amzi! Prolog with its Eclipse IDE (not to be confused with ECLiPSe programming language). Once the debugging was done, I turned my attention to timing. Porting to SWI-Prolog and GNU-Prolog was fairly straightforward, both on Windows and Linux, since at that point the code was fairly standard "ISO" Prolog. My timings showed Amzi! and SWI were comparable in speed, and GNU-Prolog was significantly faster.

It also turned out the code was spending a large majority of time in one section that was very numeric. While Amzi! and SWI both implement exact integer arithmetic in arbitrary precision, it turned out my requirements were just within the integer limits in 32-bit GNU-Prolog.

Moreover GNU-Prolog was easy to link to a rewrite of that critical section in C. The hybrid code is what I'm using in production.


You might get a good start by looking at this comparison of Prolog implementations. Since you haven't made clear what your goals are, what platform you're targeting, what your requirements are, what your experience is, etc. there's not much more information I can provide.


Edited to add:

Wikipedia has a good comparison chart of Prolog implementations. That should assist you in your decision making process.


There is a performance based analysis of rule engines here: http://sunysb.academia.edu/PaulFodor/Papers/349245/Openrulebench_An_Analysis_of_the_Performance_of_Rule_Engines

Im many tests, YAP seems to be in general the faster one, but XSB is not bad at all. If you are looking for inter-language communication (with Java, C, or others), database access, or tabling (these were my requirements), XSB has an impressive amount of sophisticated libraries. However, I found YAP easier to use (until the present, I am just starting giving XSB a chance :).


I'd recommend Amzil Prolog because of it's GREAT Eclipse IDE Plugin. You'll find it here: Official Site.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜