【问题标题】:How to hold data structures in memory G-wan with Java / Scala如何使用 Java / Scala 在内存 G-wan 中保存数据结构
【发布时间】:2013-06-24 17:10:17
【问题描述】:
我将 Gwan 视为运行 Scala 应用程序的一种更高性能的方式。我们的用例涉及使用 Scala 数据结构在内存中保存大量数据。这比简单的 hashmap 稍微复杂一些,所以我想避免尝试将其插入 Gwan 附带的 K/V 存储中。
还有许多 C 库可以很好地与之交互。很好奇在 Gwan 上使用第三方 C 库和 Scala 应用程序的过程是什么。
谢谢!
【问题讨论】:
标签:
c
scala
libraries
g-wan
interfacing
【解决方案1】:
使用 Scala 数据结构在内存中保存大量数据
将 Scala 数据结构附加到 G-WAN servlet 的最简单方法是使用 G-WAN 持久性指针,请参阅 persistence.c 示例。
为了便于讨论,G-WAN KV 存储没有使用哈希表(顺便说一下,也没有任何哈希,以避免大量未使用的内存和条目冲突)。
在 Gwan 上使用带有 Scala 应用程序的第三方 C 库的过程是什么
如果您想从 Scala G-WAN 脚本调用 C 函数(从 servlet 或从预编译的 C 库),那么您只需选择函数指针(例如从处理程序),注册它通过将其附加到 G-WAN 持久指针,然后稍后调用它(从您的 Scala 脚本)。
或者您可以从您的 Scala 脚本中动态加载预编译的 C 库,解析函数名称(仅在启动时解析一次),然后多次调用它。