對c 容器的讀寫測試

2021-06-16 16:37:09 字數 1603 閱讀 1011

本文主要對qt容器的讀寫進行測試,qt 容器相容 stl ,因此可以類推 stl的訪問速度。

1 qvector/ vector

本次測試,寫vector 為追加,讀也是順序讀取,消耗時間如下:

追加所需時間 時間

/毫秒資料量級 1

萬 2十萬 14

百萬172 千萬

1602 億

時間/毫秒

資料量級

167 千萬

1614 億

從中可以看出,vector追加和順序讀取時間基本一致, 待測試隨機插入, qt**如下:

qvectorvec1,vec2,vec3,vec4,vec5;

qtime t,t2;

t = qtime::currenttime();

for(int i = 0; i < 10000; i++)

t2 = qtime::currenttime();

qdebug() << t.msecsto(t2) << t2.second() - t.second() << vec1[1000];

t = qtime::currenttime();

for(int i = 0; i < 100000; i++)

t2 = qtime::currenttime();

qdebug() << t.msecsto(t2) << t2.second() - t.second() << vec2[10000];

t = qtime::currenttime();

for(int i = 0; i < 1000000; i++)

t2 = qtime::currenttime();

qdebug() << t.msecsto(t2) << t2.second() - t.second()<< vec3[100000];

t = qtime::currenttime();

for(int i = 0; i < 10000000; i++)

t2 = qtime::currenttime();

qdebug() << t.msecsto(t2) << t2.second() - t.second()<< vec4[1000000];

t = qtime::currenttime();

for(int i = 0; i < 100000000; i++)

t2 = qtime::currenttime();

qdebug() << t.msecsto(t2) << t2.second() - t.second()<< vec5[10000000];

qdebug() << "get";

t = qtime::currenttime();

float* p = new float[vec4.count()];

for(int i = 0; i < 10000000; i++)

t2 = qtime::currenttime();

qdebug() << t.msecsto(t2) << t2.second() - t.second()<< vec4[1000000] << p[1000000];

未完待續

C 輸入 輸出 讀寫 容器

int num cin num 輸入 cout 讀fstream 寫 ofstream 1.一次讀乙個單詞 string s,word fstream in 1.txt in s 每讀一次讀乙個單詞 while in word cout word endl 2.一次讀一行 string line f...

C 對 ini檔案的讀寫操作

1.using system 2.using system.collections.generic 3.using system.runtime.interopservices 4.using system.text 5.6.namespace ini 7.27.28.方法 向ini檔案寫入資料 2...

C 對記事本的讀寫

using system using system.collections.generic using system.text using system.io namespace anshield autofutures.baseclase public static string fileread...