我做了一些简单的测试:阅读一个100000行(10列)的csv文件,其中随机填充了英语单词。用脚本打开文件,并将每行放入一个数组变量。
第一个月
我通过Apache Benchmark命令发送了100个请求来测试PHP8.2比PHP7.4快多少,但是...结果让我很惊讶。PHP7比PHP7快66.9秒。PHP 8比PHP7快71秒。我做了几次测试,结果都一样。为什么?
两个PHP版本的任务都在相同的环境中运行:Docker,Ubuntu 20.02,默认PHP配置。
在以前的素数计算测试中,PHP 8的速度要快得多,PHP 8被提升为所有测试中最快的版本。
源代码如下:
<?php
if (!isset($_GET['phpinfo'])) {
$csvData = [];
if (($handle = fopen("test.csv", "r")) !== FALSE) {
$row = 0;
while (($data = fgetcsv($handle)) !== FALSE) {
$csvData[] = $data;
$row++;
}
fclose($handle);
if ($row === 100000) {
http_response_code(200);
} else {
http_response_code(400);
}
}
} else {
phpinfo();
}
停靠文件(与PHP 8相同-将php版本替换为8.2和workdir)
FROM ubuntu:20.04
ARG PHP_VERSION="7.4"
RUN apt update && \
apt -y install --no-install-recommends && \
apt -y install software-properties-common && \
add-apt-repository ppa:ondrej/php && \
apt update && \
apt -y install --no-install-recommends && \
apt -y install php${PHP_VERSION}
WORKDIR /var/www/html/php7
COPY . /var/www/html/php7
docker-compose.yml(与PHP 8相同-将php7替换为php 8)
version: "3.9"
services:
php7:
container_name: php7
build: ./php7
ports:
- "8000:8000"
volumes:
- ./php7:/var/www/html/php7
stdin_open: true
tty: true
restart: always
command: php -S 0.0.0.0:8000 -t .
test.csv(行如下)
“侧面”、“机会”、“瘦”、“去掉”、“泥”、“这个”、“样子”、“骄傲”、“坏”、“圆”
1条答案
按热度按时间uujelgoq1#
“按行业和统计领域分列的地理单位:2000-2022降序排列-https://www.stats.govt.nz/large-datasets/csv-files-for-download/中的CSV”为135 MB,具有590万行,以
下载并去掉前10万行
我同时安装了php8.2.0-cli和php7.4.33-cli(由https://deb.sury.org/提供),运行以下代码
通过hyperfine benchmark运行它们:
我的结论是,在这个特定的任务中,PHP 8. 2比PHP7. 4快大约2%...