最快的双向java prolog实现

时间:2010-09-13 22:57:54

标签: java prolog ffi

我正在尝试在当前基于代理的模拟之上使用java-prolog层。我正在运行Mac OS X Snow Leopard和Netbeans 6.9并尝试使用swi-prolog中的JPL,但由于库及其路径存在问题,我无法成功运行测试。我需要一个非常快速的实现,我想知道是否有人对双向java-prolog接口有任何基准或个人经验。

2 个答案:

答案 0 :(得分:1)

2007年,我针对用Java编写的四个Prolog实现运行了经典的Prolog基准测试(queenstakqsortnrev等程序)。 tuPrologJIPrologJLogJavaLog。总体上最快的实施是JLog。所有详细信息均可在an article accepted at SAC 2008

中找到

我建议你看看jTrolog,这是在我衡量其他基于Java的Prolog引擎的性能之后正式诞生的。也许PrologCafe可能也有一些兴趣。

但请注意,我没有被告知其中任何一个的维护状态。如果您需要各自作者的某种支持,请仔细选择。

答案 1 :(得分:0)

您是否在寻找在Java进程和prolog进程之间有效交换消息的方法?

我可能会推荐Google的协议缓冲区,它提供了一种语言中立且有效的方法,可以在不同系统之间交换消息......

http://code.google.com/p/protobuf/

http://www.swi-prolog.org/pldoc/package/protobufs.html