1. 程式人生 > >splFixedArray和PHP array的簡單效能測試對比

splFixedArray和PHP array的簡單效能測試對比

自從5.3版本開始,PHP在SPL擴充套件中提供了一個叫做splFixedArray的陣列[連結],splFixedArray陣列相比標準的PHP陣列更接近於C語言的陣列,而且由於splFixedArray沒有使用雜湊(Hash)儲存方式,因此效率更高。下面我們就寫一個簡單的指令碼來測試一下它們兩者之間的效能差別。

測試環境

Windows 8.1 64位
WampServer 2.4

測試指令碼程式碼

<?php
$size = 1000000;
$format = 'Time spent of %s(%d) is : %f seconds.</br>';

// test of splFixedArray
$spl_arr = new splFixedArray($size); $start_time = microtime(true); for ($i = 0; $i < $size; $i++) { $spl_arr[$i] = $i; } $time_spent = microtime(true) - $start_time; printf($format, "splFixedArray", $size, $time_spent); // test of PHP array $php_arr = array(); $start_time = microtime(true); for
($i = 0; $i < $size; $i++) { $php_arr[$i] = $i; } $time_spent = microtime(true) - $start_time; printf($format, "PHP array", $size, $time_spent);

測試結果

測試結果截圖
在這個測試中,我們分別向兩個不同的陣列中插入100萬個元素,結果PHP陣列花費的時間比splFixedArray慢0.1s~0.2s之間,因此splFixedArray在效能上確實比PHP array要高的,不過splFixedArray的使用是有條件限制的,比如初始化的時候一定要設定好它的大小(size),以及不能使用整數以外的key等。

相關推薦

splFixedArrayPHP array簡單效能測試對比

自從5.3版本開始,PHP在SPL擴充套件中提供了一個叫做splFixedArray的陣列[連結],splFixedArray陣列相比標準的PHP陣列更接近於C語言的陣列,而且由於splFixedArray沒有使用雜湊(Hash)儲存方式,因此效率更高。下面我們

snaictornado的簡單效能測試

作業系統 : CentOS7.3.1611_x64 Python 版本 : 3.6.8 tornado版本:6.0.2 snaic版本:19.9.0 CPU : Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz 4核 之前一直使用tornado作為http相關pytho

C++有序map無序unordered_map效能測試對比

概述 簡單對比map和unordered_map的效能。 map內部是紅黑樹,在插入元素時會自動排序,而無序容器unordered_map內部是散列表,通過雜湊而不是排序來快速操作元素,使得效率更高。當你不需要排序時選擇unordered_map的效率更高。

SATA硬碟SSD硬碟效能測試對比

測試工具: fio 測試物件: SATA硬碟, SSD硬碟 測試專案:順序讀、隨機讀、順序寫、隨機寫 1. 順序讀 測試命令:fio -name iops -rw=read -bs=4k -runtime=60 -iodepth 32 -filename /dev

o(n^)級別的排序演算法php原生sort效能對比

測試樣本為5000    測試結果原生sort:0.002000093460083氣泡排序:3.9222249984741選擇排序:2.8271610736847插入排序:1.9501118659973希爾排序:0.053003072738647希爾排序為o(n^)級別排序演

Lua、Luajit、Python、Node.jsJava效能測試對比

這個Github專案提供了Lua、Luajit、Python、Node.js和Java等動態語言的效能測試,具體語言版本包括: Lua 5.3.3 Luajit 2.0.4 Python 3.5.1 Pypy 2.4.0 HipHop VM 3.13.

kiss rpc flatbuffer,capnp版本grpc效能測試對比

kiss rpc flatbuffer比之前的capnp在效能上快4倍左右,類比grpc快5倍左右。 記憶體資源,cpu資源,網路資源佔用更低。 測試環境 環境:ubuntu 16.04 l

ArrayListLinkedList的幾種迴圈遍歷方式及效能對比分析 主要介紹ArrayListLinkedList這兩種list的五種迴圈遍歷方式,各種方式的效能測試對比,根據ArrayLis

主要介紹ArrayList和LinkedList這兩種list的五種迴圈遍歷方式,各種方式的效能測試對比,根據ArrayList和LinkedList的原始碼實現分析效能結果,總結結論。 通過本文你可以瞭解(1)List的五種遍歷方式及各自效能 (2)foreach及Iterator的實現 (3)加

nginxapache併發效能測試對比

今天在ubuntu 12.04 service版本上搭建了apache2+php的站點以及nginx+php5-fpm的站點,簡單地用apache自帶的ab工具測試了一下併發的效能,具體的測試指令碼如下: <?php     $arr = array();     f

RedisMemcache效能測試對比

Redis和Memcache,測試伺服器是一個個人PC:配置一般(2CPU\2G記憶體),作業系統安裝的CentOS。 1、redis memcache都是空的時候 redis設定10000

pythonc遞迴效能對比

效能上c真的快了很多 # 好比算這個漢諾塔遊戲 # 假設有三根柱子,a,b,c, # a柱子上有n個餅,上面的餅比下面的餅小, # 現在要將餅全部原狀挪到另外一個柱子上,要求不能把大餅放在小餅上,請問要挪動多少次。 #include<iostream> using namespace s

當你想進行簡單效能測試監控的時候應該如何選擇監控命令?

此文已由作者趙慧莉授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 一、前言 在進行效能測試前,有些引數需要本地進行除錯,不適合直接使用效能測試平臺。主要通過監控CPU、記憶體、磁碟、網路情況來判斷是否符合標準。接下來將通過CPU、記憶體、磁碟、網路情況的評估標準、常見的監控命令、常

PHP歸檔phar效能測試

PHP自從5.3後新增PHAR歸檔,Phar 歸檔的概念來自 Java™ 技術的 JAR 歸檔,它同意使用單個檔案打包應用程式。這個檔案裡包括執行應用程式所需的全部東西。該檔案不同於單個可執行檔案,後者通常由程式語言生成,比方 C。由於該檔案實際上是一個歸檔檔案而非編譯過的應用程式。因此

Mininet簡單效能測試

建一個簡單的模型,使用一個單交換機,然後連結n個主機形成拓撲,然後對每個鏈路設定頻寬,延遲時間,和丟包率。 這裡就選擇建一個單交換機和六個主機的作為例子。 建立py指令碼生成拓撲:寫一個類生成一個單交換機和六個主機的拓撲,並且給每個主機和交換機之間的連線賦予100m的頻寬,5ms的延遲和1%的丟包率。

合併排序(Merge Sort)C 實現(簡單效能測試

#include <time.h> #include <stdlib.h> #include <stdio.h> #define sential RAND_MAX  /* 定義哨兵*/ #define SIZE 1000000/

ceph--磁碟rbd、rados效能測試工具方法

我在物理機上建立了5臺虛擬機器,搭建了一個ceph叢集,結構如圖: 具體的安裝步驟參考文件:http://docs.ceph.org.cn/start/                                 http://www.centoscn.c

for ifor eachJava8的forEach效能測試,到底誰快的測試

有說這個快,有說那個快,但是,靠嘴不頂用啊。還是測試一下就知道啦。 (Lists.newArrayList(); 這個是guava裡面的一個集合初始化的工具) 如下 : 先是main方法吧

Yii2與phalcon效能測試對比

  Phalcon是一款基於C語言編寫高效能的PHP框架,擁有鬆耦合、易擴充套件的特點,並且嚴格遵循PSR規範。   近期接手一個新專案,對效能、擴充套件性要求較高,需要尋找一個合適的框架,經過考察和試驗,確定為phalcon和Yii2二者之一。團隊一直在使用YII框架

javascript下if else語句三目運算子效能測試

function testif(times){ console.time("test if else") var j=0; for(var i=0;i<times;i++){ if(i<500){ j+=1; }else{ j+=2;

pythonphp的文字處理速度對比

執行環境: PHP 5.4.17 Python 2.6.6 linux 64位 一、逐行讀取資料檔案,用tab鍵做分隔處理 split.py #!/usr/bin/python #coding=utf-8 import sys if len(sys.argv) !=