我们有一个程序在几个图上执行图形分析(即最大流量问题).还有机会并行处理这些问题.
已有一个庞大的C#代码库,但我们打算重写其中很大一部分.在F#中进行这种类型的操作会更好吗,而不是说C#?
谢谢,皮特
我认为这在很大程度上取决于你团队的组成 - 你对F#的了解程度如何?
我觉得我能够在F#中比C#更快地开发出任何东西.特别是,由于类型推断,高度算法程序在用F#表示时通常更简洁和可读.但是,如果您对F#没有太多经验,那么就会有一个重要的学习曲线,这意味着如果您已经熟悉该语言,最好坚持使用C#.
C#支持并行执行操作大致相当于F#,特别是如果您的任务不需要访问任何共享的可变状态(这似乎是您的任务的情况).如果我正确理解你的问题,你只想同时在多个图表上运行相同的操作,这对任何一种语言都应该很容易.如果您尝试并行化max-flow算法本身,那么F#可能会更容易,因为它对不可变数据类型的支持更强.F#真正胜过C#正在进行异步操作,但这似乎不太重要.