日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

numcpp速度对比_PHP和C++性能对比.pdf

發布時間:2023/12/2 php 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 numcpp速度对比_PHP和C++性能对比.pdf 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP 與C++性能比較

本文博客鏈接:http://keping.me/php_vs_cpp/

PHP 是速度很快的腳本語言,但是用了框架以后好像感覺挺慢的。于是猜測會不會

PHP 本身也不是很快。如果不是很快,能否采用 PHP 調用本地動態鏈接庫的形式

來提升速度。

于是有了下面的對比實驗。

測試環境

1. 硬件環境如下圖所示。

2. 軟件環境

系統: Ubuntu 12.10

gcc 版本:

Thread model: posix

gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1)

php 版本:

PHP 5.3.22 (cli) (built: Mar 14 2013 20:37:16)

Copyright (c) 1997-2013 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

php 開發環境:

LAMP,所有安裝包均是通過源碼編譯安裝而成,編譯過程中會自動根據本機各項

參數進行最優配置。性能比apt-get install 命令直接安裝好。 關于以源碼包方式搭

建LAMP 請參考文章:http://keping.me/linux-php-dev-by-source-style/

測試方法

2

由于冒泡排序在時間復雜度上相當穩定——O(n ),在最大程度上減少了數據可能帶

來的影響,故采取計算冒泡排序的運行時間的方法來進行此次實驗。

對比測試分組

分組1: C++直接調用程序內的函數

分組2: C++調用打包好的動態鏈接庫文件(.so 文件,該文件也是自己寫好并打

包)

分組3: PHP 直接調用程序內的函數

分組4 : PHP 調用打包好的動態鏈接庫文件(.so 文件,該文件也是自己寫好并打

包)

測試數據

數據總體規模為5,500,000 個0~999 的整數。

每一實驗組,循環執行次數為30250,000,000,000 次。

測試所用數據可以從以下地址下載:

http://keping.me/david-uploads/data/data_cpp.tar.gz

測試數據生成代碼如下

可以看到是0~999 的整數,一共有10 種測試數據的規模,分別放在十個不同目錄

下,如下圖所示

目錄名稱代表數據的規模,如data_90000 表示數據規模為90,000 個,同理

data_100000 表示數據規模為100,000 個,依次類推。每一個目錄下面包含10

組測試數據,以data_100000 舉例,如下圖所示

每個文件則包含100,000 個0~999 的隨機數

數據文件打包下載地址: http://keping.me/david-uploads/data/data_cpp.tar.gz

以下是對比測試。

首先是 “分組1” 的測試

為了盡量保證算法一致,所以沒有采用指針等數據結構,變量的交換也采用最原始

的設置中間變量機制,關鍵代碼如下:

以下是data_100000 目錄下num_1 數據文件的運行結果文件result_1 的部分截圖,

用時13.74 秒

第一行輸出記錄的是每一秒中所含的時鐘數;第二行記錄的是排序開始之前程序已

經運行的時鐘數;第三行記錄的是排序結束以后程序運行的時鐘數;第四行則可以

根據前面的數據得出本次排序運行的時間,以秒記,保留兩位小數便于對比。

下表則是data_100000 目錄下的所有數據文件(num_1 至 num_9)的運行結果

可以看到,對于100,000 級別的數據,進行冒泡排序, “分組1” 用了大約13.8

秒左右的時間。下面將給出對于不同數據規模(data_10000~data_100000 )的平

均測試數據

其中X 軸方向上表示數據規模為 10K (即使10,000 ),20K,,,100K 的測試

數據。

其中Y 軸方向上表示測試的平均時間,對每一數據規模均有10 個測試數據,此處

為平均值。

2

從圖中可以看出,結果基本符合 y=x 的函數曲線,冒泡排序還是相當穩定的。。。

分組2 的測試

目錄結構如下,其中libbubble.so 文件即為冒泡排序打包成動態鏈接庫。將會在main

函數

總結

以上是生活随笔為你收集整理的numcpp速度对比_PHP和C++性能对比.pdf的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。