php - 压缩和加密基准比较

标签 php c encryption zip benchmarking

所以我正在创建一个 Web 应用程序,我需要在其中加密/解密文件,将它们压缩并将它们发送到浏览器。该站点使用 php (codeigniter),但实际的文件服务组件可以使用不同的语言。我想知道我是否会通过使用 php 以外的东西来提高速度,比如直接的 c 甚至 shell 脚本?尝试第一次就做对。谢谢大家。

最佳答案

使用 FastCGI+C/Python/Whatever_fast 可以为您带来巨大的性能提升(取决于您的用例的具体情况),其原因是:

  1. 有状态。 PHP 必须在每个请求上启动一个新进程并且没有数据 可以很容易地重复使用。使用 FastCGI,您可以创建巨大的内存缓存。
  2. 更好地控制正在发生的事情。实际上 完全控制。

Opencaching.pl 站点有一个用 PHP 编写的组件,该组件生成 PNG 图像以覆盖 Google map 小部件。 Overlay 通过在 map 顶部渲染请求的图像来工作,这样就可以标记许多地理点,而无需为每个地理点创建 DOM 对象。该代码由 SQL 查询组成,该查询获取给定坐标之间的点,然后使用 PHP 的内置 ImageMagick API 在 Canvas 上绘制它们。 map 的每个 View 都会导致对 PHP 脚本的多次查询,更不用说浏览和缩放了。表演很糟糕。大量内存和 CPU 使用率。

当我使用 Apache 上的 FastCGI 作为服务解决方案将脚本重写为 C 时,保留相同的逻辑、相同的 SQL 并将 ImageMagick 换成 SDL,猜猜是什么,巨大的改进!突然间,最大的瓶颈变成了允许更好图形的数据库。 SDL是一个游戏图形库所以它的性能必须更好!使用 PHP,您只能使用 medicore 质量库。

关于php - 压缩和加密基准比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6416664/

相关文章:

php - Artisan Migrate 被机器拒绝

php - 如何在 Laravel 中使用多个数据库

java - 使用 cookie 从 PHP 读取 JSON

c - C 可以用多种浮点格式求值吗?

c# - 从加密或不可读或二进制格式保存和加载字典?

java - 为什么解密后的数据与使用java加密的原始数据不同?

php - 在 ubuntu 16.04 上将 php 升级到 v 7.2 版本

c - 这是一个新月顺序的数组吗

java - Android JNI - 字符串作为随机数返回

iOS AES256解密