2

我们即将实现一个小型自动化证券交易商。交易者将建立在优秀的quickfix FIX 引擎之上。

不过,在到期之后,我们将选择范围缩小到用 C# 或 Python 实现它。请根据以下方面说明此任务的每种语言的优缺点:

  • 性能(Python 使用GIL在线程并发方面给我带来了困扰)
  • 生产率
  • 可扩展性(我们可能需要将此交易者扩展到一个完整的平台)

编辑 我已经改写了这个问题,使其不那么“C# vs. Python”(我认为这无关紧要——两种语言都有其优点),但我只是想在做出决定之前画一个比较表。

4

2 回答 2

2

我喜欢这两种语言,并且认为两者都是不错的选择。GIL 可能真的是最重要的区别。但我不确定你的情况是否有问题。GIL 只影响在纯 Python 中运行的代码。我假设您的工具更多地依赖于 I/O,而不是原始数字运算。如果您的 I/O 库正确处理 GIL,它们可以毫无问题地执行并发代码。即使对于数字运算,你仍然有 numpy.

我的选择将取决于您现有的知识。如果您手头有经验丰富的 C# 开发人员,我会选择 C#。如果您绝对从头开始,并且确实是 50:50,那么我会选择 Python。它更容易学习、免费并且在许多情况下更有效率。

顺便提一下:您也可以看看 IronPython。;-)

于 2011-06-02T06:59:59.023 回答
0

对于“性能”和“可扩展性”这点,我建议使用 C#(尽管很大一部分性能取决于您的算法)。生产力在很大程度上是一个主观的东西,但现在 C# 拥有所有很酷的特性,如 lambda、匿名方法、类等,这使得它更加高效。

于 2011-06-02T06:42:04.573 回答