0

我们想使用 libOSRM 进行路由。目前我们正在调用它的http服务。为了获得更好的性能,我想调用它的动态库。在阅读 Haskell FFI 时,我想我可以用我的 Haskell 代码编译和链接它的源代码(而不是编译的动态库)。1.哪种方法更好?2. 我该如何做每一个选择?

请注意,OSRM 充满了我不知道如何导入到 haskell 的结构。c2hsc 未安装(阴谋集团引发错误!)。另一方面,我不知道如何链接 OSRM 的整个源。

4

2 回答 2

2

我通过 API 和 ABI 兼容的 C 包装器制作了一些 Haskell 绑定的原型:libosrmc

随意尝试一下并发送拉取请求。它只暴露了 API 的一小部分,并且基于 OSRM 5.4 版;您可能需要投入一些时间。但整体架构和想法仍然适用。是 Haskell 绑定。

我建议三思而后行,使用 Haskell 采用 libosrm/FFI 方式,而不是发送 HTTP 请求:如果值得麻烦,请预先进行基准测试。

于 2017-08-06T19:12:55.293 回答
0

你可以看看https://github.com/daniel-jh/hosrm-qa该项目是 PoC-only 并且使用 HTTP OSRM API 而不是 Haskell FFI。

于 2017-07-31T04:44:29.440 回答