最快的脚本编程语言?

Mic*_*chi 13 scripting g-wan

我有一个Web应用程序项目,其中的性能最重要,我可以选择使用的技术.

与Web应用程序无关的语言管理基准测试.

你认为什么是最合适的候选人?

谢谢!


一位朋友在IRC上建议使用gwan服务器.看起来像我在寻找,但我以前从未听说过.有这方面经验的人吗?易用性,可靠性?

在我离开Apache之前,我想了解你的想法.

mar*_*r75 7

如果性能最重要,请不要使用脚本语言.特别是因为您可以完全控制技术堆栈.编译语言对CPU密集型操作的性能更佳.

  • Michi,那么,速度真的不是最重要的吗?您应该能够使用MD5哈希或类似的方式或多或少地验证可执行文件,这将允许您的主管检查没有发生篡改. (6认同)
  • 或者将C(或其他编译语言)扩展库编写成某种脚本语言,以获得最佳的两个世界. (5认同)

Pin*_*juh 6

G-WAN是一个整洁的网络服务器:它基于"C脚本"概念:

AC脚本只是C源代码,由Web服务器编译,然后加载到受保护的内存中.当向servlet发出请求时,Web服务器将调用它.由C编译器编译的servlet与正常编译C程序一样"快".但是,C脚本(例如CGI或FastCGI)的优点是编译的程序与Web服务器位于相同的内存空间中.这减少了通信的开销(通过创建进程,在CGI的情况下,对于每个请求,或者为FastCGI的套接字).

Web服务器正在使用select/poll技术:非阻塞I/O. 但是,它有一个很好的东西.每个程序都可以像使用阻塞I/O一样编写.由于Web服务器本身编译每个C脚本,它可以将程序转换为使用非阻塞I/O. 在此,它可以将自身链接到第三方库(如数据库访问),并仍然使用非阻塞I/O性质:没有线程/进程上下文切换.

例如,为C脚本编程提供的工具是缓存和安全缓冲区.下一篇(撰写本文时尚未发布)版本还将包括一个Key-Value商店.

性能方面:有一些基准测试表明它的性能优于其他任何网络服务器,但我不相信这些.尝试用C语言编写一个小型CPU密集型程序,例如PHP.让C脚本在G-WAN和Apache上的PHP脚本上运行,并自己做一个基准测试.

还有更多,但这超出了这个问题的范围.

G-WAN的一些缺点是它只由一个人开发.但是,有一个论坛可以提问.

易用性受到C技能的限制.但是,提供的API很简单.它仍然有一些不一致和(在我看来)丑陋的部分,但这不是一个问题.一个更严重的问题是,不保证每个版本都是向后兼容的,您可能需要重写.

如果您想要安全:使用C的平台独立性:允许您的代码编译为(快速)CGI程序,也可以由G-WAN使用.可能G-WAN失败,您可以随时回退到Apache的(快速)CGI(请参阅http://www.fastcgi.com/获取API).


kri*_*iss 3

首先确定您的应用程序性能是否确实取决于语言或其他一些因素(例如数据库请求)。缓存结果的能力也是一个非常重要的因素。

就性能而言,所使用的语言在要检查的重要点列表中占据相当大的位置,并且用例也会影响哪种语言更好。例如,如果您有许多正则表达式要检查,您应该检查候选语言中的正则表达式支持,等等......

对于图像处理,最重要的一点可能是您使用的底层图像库,通常是用 C 编写的。我想到了 ImageMagick 的情况,因为我目前正在使用它。它可用作大多数语言的库,并且脚本语言层仅需要调用库的函数,并且该级别使用的语言不会发生太大变化(但缓存预先计算的结果图像可能会大幅改变性能)。此用例可能与调用加密库类似。

如果性能确实是一个问题,对于图像处理,您还可以考虑使用与 GPU 加速卡配合使用的库(支持 cuda 或 openGPU 的库)。

  • @Michi:我并不是建议使用它,只是大多数库应该有薄层来从脚本语言访问它们,找到您需要的库,检查该层是否可用。我希望您不期望从使用某种脚本语言编写的图像处理代码中获得更好的性能? (2认同)