最近联系上了在第一家公司共事过的同事,他现在自己开公司了,但一直在坚持撸C++,因为他们是证券行业,对程序的并发能力要求比较高的要求。而在这方面,也只有C++,能够满足他们的要求,所以他们从来没有考虑过更换其他语言。我和他探讨过是否可以考虑用Go,来尝试做他们的业务,因为Go语言相比C++来说,简单了很多,从业人员也逐渐增多,并发能力也不弱。这里面还有一个现实的问题,就是C++从业人员很难招,他也很害怕公司的C++开发人员流失,因为一旦流失,就很难再招到人来补位。但他还是坚持撸C++,因为他认为,一个公司用哪个技术栈,取决于最厉害的人,用哪门语言,很明显,他们公司最厉害的人,就是他自己,何必来折腾自己呢?最终还是没有说动他,不知道大家怎么看。
我就是一个量化。交易系统用的go,除了对接第三方sdk用c++,内部系统会选择用go。
至于性能方面,我自己写过,稍微复杂一点点业务,用c++写出来性能还真没有用Go高多少,<2%左右吧不是很明显,
并发高一些的业务,并发>=1k吧,cpp 11用的多线程,性能真比go要慢,cpp thread还是很重的,多了之后切换比较耗费资源。
业内大概的基准测试,go计算浮点数,斐波那契数列,这类的大概go与cpp差距<10%,还是在简单逻辑,但并发情况下测试的。
当然我也承认我cpp很菜。
至于大家说什么语言好坏,实际上还是取决于使用的人与场景。
还有就是有了基准测试才有了对比,开发效率,运行效率,维护成本,生态,也是一个比较的一些影响因素吧
#9
更多评论