首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于BitCoin开发的Python与IronPython

用于BitCoin开发的Python与IronPython
EN

Stack Overflow用户
提问于 2012-12-20 09:02:45
回答 1查看 584关注 0票数 0

我一直在考虑将BitCoin挖掘池服务器移植到IronPython

除了Ironpython支持高达Python ~2.7版本的限制之外

Ironpython/windows平台是否真的不适合这种类型的大容量/大型事务系统?

我可能会遇到的其他限制是什么,或者我是否应该咬紧牙关,构建一个ubuntu编程平台

如果是后者,对于来自c# Visual Studio世界的人来说,这将是一个简单的集成开发环境

在Adavnce中感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-20 10:22:24

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

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

接下来,Windows平台是否适合大容量系统?Windows绝对能够每秒处理数千个连接(或请求,或字节,或任何与您的用例最相关的连接)。它可能永远不会在纯连接/秒/$方面击败linux,但您必须实际地权衡操作成本和开发成本。然而,过于简单化了一点,Windows在反应器上表现不佳,而linux则在反应器上表现出色(还有其他类似的问题--例如,用进程/线程代替上面的问题)。因此,即使Windows在总体上可以和linux做得一样好,但它在相同的代码上,甚至在相同的设计上就不能做得那么好。您需要设计代码以利用Windows功能并考虑Windows的弱点。如果您使用框架来为您完成繁重的工作,那么选择将会减少,并且最好的选择可能不会像您习惯的那样工作,这通常比更换平台的开发成本高得多。

如果你在linux上使用CPython,你应该使用哪种集成开发环境?坚持使用Visual Studio。您可以(或许应该)以在IronPython和linux CPython上运行的跨平台方式编写全部或大部分代码。然后,您可以在Visual Studio中使用Iron Python进行编码、测试和调试,使用原生Windows和/或Cygwin进行偶尔的健全性检查,并且只使用touch CPython进行性能测试、发布前的最终验收测试,以及调试无法在Windows上重现的问题。在linux上,您偶尔仍然需要一个简单的文本编辑器,但它是空闲的,或者是您喜欢的vi-vs.-emacs,或者是您的linux发行版默认附带的GUI文本编辑器。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13963763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档