与其他语言相比,Python套接字I/O性能

与其他语言相比,Python套接字I/O性能,python,performance,sockets,programming-languages,io,Python,Performance,Sockets,Programming Languages,Io,我正在编写一个python程序,在windows上工作,该程序有大量线程和I/O,它在I/O中大量使用套接字从远程位置发送和接收数据,除此之外,它还有一些使用正则表达式的字符串操作 我的问题是:就性能而言,与例如Java或C#相比,python是这种程序的最佳编程语言吗?还有其他语言更适合上述描述吗?有趣的问题。处理套接字的python模块直接包装底层OS功能。因此,在给定的操作中,根据包装器语言,您不太可能看到任何速度差异 您会注意到python的速度问题是,如果您参与了非常紧密的循环,比如查

我正在编写一个python程序,在windows上工作,该程序有大量线程和I/O,它在I/O中大量使用套接字从远程位置发送和接收数据,除此之外,它还有一些使用正则表达式的字符串操作


我的问题是:就性能而言,与例如Java或C#相比,python是这种程序的最佳编程语言吗?还有其他语言更适合上述描述吗?

有趣的问题。处理套接字的python模块直接包装底层OS功能。因此,在给定的操作中,根据包装器语言,您不太可能看到任何速度差异

您会注意到python的速度问题是,如果您参与了非常紧密的循环,比如查看流中的每个字符

您没有指明要发送多少数据。除非您正在执行一个必须维护大量I/O的解决方案,否则python可能会做得很好。在python中实现nginx、memcached或redis。。。不是个好主意

和往常一样。。。基准。如果它足够快,那么为什么要改变呢

另外,作为程序员,你很可能会在python中更快地完成它

您的要求是:

  • 在windows上工作
  • 该程序有大量线程和I/O
  • 它在I/O中大量使用套接字来发送和接收数据
  • 它使用正则表达式进行一些字符串操作
  • 很难说哪种语言是完成此任务的最佳语言,因为几乎所有语言都符合您的要求

  • Windows:所有notes语言
  • <> Li >线程的大量使用:C++,java,C++,Haskell,斯卡拉,Culjule,Erlang。基于处理的线程或其他解决方案:Ruby、Python和其他解释语言,没有真正的细粒度并发
  • 套接字:所有值得注意的语言
  • 正则表达式:所有值得注意的语言

  • 最有趣的约束是需要进行大规模并发IO。这意味着您的瓶颈将是上下文切换、线程成本以及是否可以在多个内核上运行线程池。根据您的伸缩性,您可能希望使用一种编译语言,一种具有轻量级线程的语言,它可以轻松地使用多个内核。这将列表简化为C++、Haskell、Erlang、java、斯卡拉。您可能可以通过使用分叉进程来解决Python中的全局解释器锁定问题,但它的粒度不会那么细

    Net是一个很好的平台。如果你只在windows上,VB或C将很好地集成。实际上,这不仅仅取决于具体语言,还取决于您和支持它的团队。>与例如Java或C相比,python是此类程序的最佳编程语言吗客观地回答这个问题是不可能的。