使用clojure开发游戏服务器

使用clojure开发游戏服务器,clojure,Clojure,我正在开发一个游戏服务器。你知道在游戏中,很多数据结构应该是可变的。但Clojure的数据结构是不变的。有什么好主意吗 这样做?我应该用clojure吗 改变数据结构可以让您从代码中挤出最后几盎司的性能,但考虑到您正在编写服务器,网络延迟的影响可能比内存分配大得多。Clojure应该是合适的,当然可以作为一个起点 虽然Clojure的数据结构是不可变的,但应用程序状态可以通过atoms、REF、core.async循环状态和数据管道进行管理。Clojure应用程序几乎不是静态的,因为它的数据结构

我正在开发一个游戏服务器。你知道在游戏中,很多数据结构应该是可变的。但Clojure的数据结构是不变的。有什么好主意吗
这样做?我应该用clojure吗

改变数据结构可以让您从代码中挤出最后几盎司的性能,但考虑到您正在编写服务器,网络延迟的影响可能比内存分配大得多。Clojure应该是合适的,当然可以作为一个起点

虽然Clojure的数据结构是不可变的,但应用程序状态可以通过atoms、REF、core.async循环状态和数据管道进行管理。Clojure应用程序几乎不是静态的,因为它的数据结构是静态的

您目前面临的最大风险是确定要构建什么,Clojure的实时开发模型将加速学习循环。您可以在服务器运行时重新定义函数,并立即查看其效果


我建议您在Clojure中创建服务器原型,然后,如果需要提高性能,请分析代码。如有必要,您可以在Java中引入瞬态和挥发性以及端口性能关键部分。

数据结构可能是不可变的,但Clojure提供了许多维护状态的机制(请参见示例:。关于是否应该使用Clojure的问题可能过于宽泛和固执己见,无法在这里得到一个好的答案,但我的观点是,不可变的数据结构并不是不使用它的理由。当你最终选择了一种语言并遇到一些具体的编程问题时,你会在这里找到很多很好的帮助!祝你好运