嗨我需要在perl中生成1x1像素图像,这可能是生成此图像的最快方法。假设我的网络服务器每秒将获得10K连接。
目前我正在使用它:
print MIME::Base64::decode("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABGdBTUEAALGPC/xhBQAAAAZQTFRF////AAAAVcLTfgAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAAsSAAALEgHS3X78AAAAB3RJTUUH0gQCEx05cqKA8gAAAApJREFUeJxjYAAAAAIAAUivpHEAAAAASUVORK5CYII=
我无法托管静态文件,因为我们需要处理某些数据的请求。
由于 Kathiresh Nadar
答案 0 :(得分:2)
首先,对于高性能perl,您应该使用fastcgi(直接通过FCGI
模块,或CGI::Fast
包装器)或mod-perl或其他一些技术来使您的脚本保持不变记忆中的持久过程。
其次,如果您首先处理对某些其他数据的请求,并且涉及写入文件或与数据库或类似内容交谈等任何内容,那么您的时间将受到该处理的支配。生成图像并不是缓慢的部分。
但是,无论如何,让我们回答您的问题:假设您正在使用一些保留内存中的脚本技术,那么您可以做的第一件事就是将MIME::Base64::decode
调用转移到{ {1}}阻止,将结果存储在变量中,并使用该变量。
但是,通过线路发送图像可能需要比服务器上的处理更长的时间,所以为什么在发送42字节的GIF时发送167字节的PNG?将这两条建议放在一起,你得到:
BEGIN