-1

一直在考虑将比特币矿池服务器移植到 IronPython

除了 Ironpython 支持 Python ~v2.7 的限制

Ironpython/windows平台真的不适合这种大容量/大事务系统吗

我可能会遇到哪些其他限制,或者我应该硬着头皮建立一个 ubuntu 编程 RIG

如果后者对于来自 ac# Visual Studio 世界的人来说将是一个简单的 IDE

感谢提前

4

1 回答 1

0

如果不知道您现有的代码是如何构建的,或者您希望新版本如何工作,很难具体回答,但我可以给出一些概括。

IronPython 限制/问题,按重要性降序排列: * 没有第三方 C 扩展模块。如果你依赖任何一个,你必须找到一个 .NET 等价物或自己重新实现相同的东西。如果没有,那不是问题。* 没有 3.x。如果你知道 3.x,Unicode 就容易多了,yield from岩石等,而 3.x 不断改进(甚至加速),而 2.x 则停滞不前。但是这值多少钱是个人喜好问题,不是任何人都可以给你客观答案的。* 没有第三方纯 Python 模块(在重要方面)依赖于引用计数语义。那里没有太多这些,但如果你需要一个,你需要它。* IronPython 和 CPython 之间存在一些差异,在发行说明中列出。可能这些都不会影响你,但你应该检查一下。* 如果有任何繁重的应用程序逻辑(而不是所有的工作是网络/文件/数据库),IronPython 在一些事情上比 CPython 快得多,而在其他一些事情上要慢得多,所以你可能需要分析和执行-在你走得太远之前进行测试。(至少考虑 PyPy,

其次,Windows 平台是否适合大容量系统?Windows 绝对能够每秒处理数千个连接(或请求,或字节,或与您的用例最相关的任何内容)。它可能永远不会在纯连接数/秒/美元上击败 linux,但您必须切实权衡运营成本与开发成本。然而,过于简单化了一点,Windows 在反应堆上很烂,在前摄器上摇摆不定,而 linux 在反应堆上摇摆不定,在前摄器上表现不错(还有其他类似的问题——例如,用进程/线程代替上述)。因此,即使 Windows在一般情况的表现几乎与 linux 一样好,但它在相同的代码上表现不佳,甚至通常是相同的设计。您需要构建代码以利用 Windows 功能并考虑 Windows 的弱点。而且,如果您使用框架来为您完成繁重的工作,那么选择将会更少,而且最好的可能不会像您习惯的那样工作,这通常比更改平台要高得多的开发成本.

如果您确实在 linux 上使用 CPython,您应该使用什么 IDE?坚持使用 Visual Studio。您可以并且可能应该以跨平台的方式编写全部或大部分代码,同时在 IronPython 和 linux CPython 上运行。然后,您可以在 Visual Studio 中使用 Iron Python 进行编码、测试和调试,使用本机 Windows CPython 和/或 Cygwin CPython 进行偶尔的完整性检查,并且只使用 linux 进行性能测试、发布前的最终验收测试以及调试问题。在 Windows 上重现。您仍然偶尔需要在 linux 上使用简单的文本编辑器,但是 IDLE,或您喜欢的任何 vi-vs.-emacs,或您的 linux 发行版默认附带的任何 GUI 文本编辑器都可以。

如果您的应用程序逻辑与您的反应器设计或其他东西紧密耦合,这可能会很困难。如果可行,它可能值得做,但如果不是……好吧,您仍然可以使用 Visual Studio 作为编辑器和项目组织者,即使实际代码打算在 linux 机器上运行。那样你不会得到漂亮的调试器集成等,但你仍然可以获得很多里程。

于 2012-12-20T02:22:24.487 回答