count和sizeof的效率对比

By Symphony - Last updated: Monday, June 9, 2008 - Save & Share - Leave a Comment

今日有某篇文章对指出sizeof()的效率比count()的效率要高,甚至说在for循环中使用sizeof的效率要高于在循环外预赋值的使用sizeof。

我测了一遍,觉得他的测试方法有问题。问题在于程序仅运行了一次就下结论,没有排除偶然性。以下是我的测试代码:

<?php

$arrTest = array_fill( 0 , 10000 , 999 );

function test1( $arrTest )
{
$startTime = microtime( true );

$size = count( $arrTest );
for (
$i = 0 ; $i < $size ; $i++ );

return ( microtime( true ) - $startTime );
}

function test2( $arrTest )
{
$startTime = microtime( true );

for ( $i = 0 ; $i < count( $arrTest ) ; $i++ );

return ( microtime( true ) - $startTime );
}

function test3( $arrTest )
{
$startTime = microtime( true );

$size = sizeof( $arrTest );
for (
$i = 0 ; $i < $size ; $i++ );

return (microtime(true) - $startTime);
}

function test4( $arrTest )
{
$startTime = microtime( true );

for ( $i=0 ; $i < sizeof( $arrTest ); $i++ );

return ( microtime( true ) - $startTime );
}

$moreFast1 = 0;
$moreFast2 = 0;
$moreFast3 = 0;
$moreFast4 = 0;

for( $i = 1 ; $i <= 100 ; ++$i )
{
echo
"第{$i}次的运行:<br />";
$time1 = test1( $arrTest );
echo
'使用count并预赋值的运算时间:' , $time1 , '<br />';
$time2 = test2( $arrTest );
echo
'使用count不预赋值的运算时间:' , $time2 , '<br />';
$time3 = test3( $arrTest );
echo
'使用sizeof并预赋值的运算时间:' , $time3 , '<br />';
$time4 = test4( $arrTest );
echo
'使用sizeof不预赋值的运算时间:' , $time4 , '<br />';
echo
'<br />';

$time2 < $time4 ? ++$moreFast2 : ++$moreFast4;
$time1 < $time3 ? ++$moreFast1 : ++$moreFast3;
}

echo "不赋值count胜{$moreFast2}次,sizeof胜{$moreFast4}次。";
echo
"预赋值count胜{$moreFast1}次,sizeof胜{$moreFast3}次。";

运行结果:

第1次的运行:
使用count并预赋值的运算时间:0.00367903709412
使用count不预赋值的运算时间:0.016126871109
使用sizeof并预赋值的运算时间:0.00350904464722
使用sizeof不预赋值的运算时间:0.0249030590057

第2次的运行:
使用count并预赋值的运算时间:0.00350713729858
使用count不预赋值的运算时间:0.030200958252
使用sizeof并预赋值的运算时间:0.00489807128906
使用sizeof不预赋值的运算时间:0.0130939483643

第3次的运行:
使用count并预赋值的运算时间:0.0186910629272
使用count不预赋值的运算时间:0.0144441127777
使用sizeof并预赋值的运算时间:0.013594865799
使用sizeof不预赋值的运算时间:0.02494597435

第4次的运行:
使用count并预赋值的运算时间:0.00421595573425
使用count不预赋值的运算时间:0.0136399269104
使用sizeof并预赋值的运算时间:0.0035138130188
使用sizeof不预赋值的运算时间:0.0135250091553

第5次的运行:
使用count并预赋值的运算时间:0.0044629573822
使用count不预赋值的运算时间:0.0168480873108
使用sizeof并预赋值的运算时间:0.00428318977356
使用sizeof不预赋值的运算时间:0.0268168449402

第6次的运行:
使用count并预赋值的运算时间:0.00360298156738
使用count不预赋值的运算时间:0.0282509326935
使用sizeof并预赋值的运算时间:0.00350904464722
使用sizeof不预赋值的运算时间:0.01393699646

第7次的运行:
使用count并预赋值的运算时间:0.00348997116089
使用count不预赋值的运算时间:0.0501348972321
使用sizeof并预赋值的运算时间:0.00353002548218
使用sizeof不预赋值的运算时间:0.0728671550751

第8次的运行:
使用count并预赋值的运算时间:0.00348997116089
使用count不预赋值的运算时间:0.0153090953827
使用sizeof并预赋值的运算时间:0.00349998474121
使用sizeof不预赋值的运算时间:0.0285260677338

第9次的运行:
使用count并预赋值的运算时间:0.00351214408875
使用count不预赋值的运算时间:0.0252168178558
使用sizeof并预赋值的运算时间:0.00350999832153
使用sizeof不预赋值的运算时间:0.05535197258

第10次的运行:
使用count并预赋值的运算时间:0.00398802757263
使用count不预赋值的运算时间:0.0349998474121
使用sizeof并预赋值的运算时间:0.00349998474121
使用sizeof不预赋值的运算时间:0.0226700305939

第11次的运行:
使用count并预赋值的运算时间:0.0636579990387
使用count不预赋值的运算时间:0.0473041534424
使用sizeof并预赋值的运算时间:0.00464105606079
使用sizeof不预赋值的运算时间:0.0342099666595

第12次的运行:
使用count并预赋值的运算时间:0.00350189208984
使用count不预赋值的运算时间:0.0409049987793
使用sizeof并预赋值的运算时间:0.00379681587219
使用sizeof不预赋值的运算时间:0.0155119895935

第13次的运行:
使用count并预赋值的运算时间:0.0057909488678
使用count不预赋值的运算时间:0.0148980617523
使用sizeof并预赋值的运算时间:0.0034921169281
使用sizeof不预赋值的运算时间:0.0131630897522

第14次的运行:
使用count并预赋值的运算时间:0.00348591804504
使用count不预赋值的运算时间:0.0261900424957
使用sizeof并预赋值的运算时间:0.00414395332336
使用sizeof不预赋值的运算时间:0.0127670764923

第15次的运行:
使用count并预赋值的运算时间:0.00392699241638
使用count不预赋值的运算时间:0.0140511989594
使用sizeof并预赋值的运算时间:0.00350594520569
使用sizeof不预赋值的运算时间:0.0196778774261

第16次的运行:
使用count并预赋值的运算时间:0.00348210334778
使用count不预赋值的运算时间:0.0138039588928
使用sizeof并预赋值的运算时间:0.0233039855957
使用sizeof不预赋值的运算时间:0.0144758224487

第17次的运行:
使用count并预赋值的运算时间:0.00443387031555
使用count不预赋值的运算时间:0.0165598392487
使用sizeof并预赋值的运算时间:0.00461602210999
使用sizeof不预赋值的运算时间:0.0233619213104

第18次的运行:
使用count并预赋值的运算时间:0.00353097915649
使用count不预赋值的运算时间:0.0461890697479
使用sizeof并预赋值的运算时间:0.00486707687378
使用sizeof不预赋值的运算时间:0.0249078273773

第19次的运行:
使用count并预赋值的运算时间:0.00350499153137
使用count不预赋值的运算时间:0.0482258796692
使用sizeof并预赋值的运算时间:0.0052969455719
使用sizeof不预赋值的运算时间:0.0160539150238

第20次的运行:
使用count并预赋值的运算时间:0.0100510120392
使用count不预赋值的运算时间:0.0173599720001
使用sizeof并预赋值的运算时间:0.0122759342194
使用sizeof不预赋值的运算时间:0.0282180309296

第21次的运行:
使用count并预赋值的运算时间:0.00348687171936
使用count不预赋值的运算时间:0.0257859230042
使用sizeof并预赋值的运算时间:0.00350403785706
使用sizeof不预赋值的运算时间:0.013839006424

第22次的运行:
使用count并预赋值的运算时间:0.00348806381226
使用count不预赋值的运算时间:0.0221688747406
使用sizeof并预赋值的运算时间:0.00350713729858
使用sizeof不预赋值的运算时间:0.059592962265

第23次的运行:
使用count并预赋值的运算时间:0.00349998474121
使用count不预赋值的运算时间:0.0244929790497
使用sizeof并预赋值的运算时间:0.00758910179138
使用sizeof不预赋值的运算时间:0.0152039527893

第24次的运行:
使用count并预赋值的运算时间:0.00350904464722
使用count不预赋值的运算时间:0.0333700180054
使用sizeof并预赋值的运算时间:0.00417304039001
使用sizeof不预赋值的运算时间:0.0340740680695

第25次的运行:
使用count并预赋值的运算时间:0.00406289100647
使用count不预赋值的运算时间:0.0270009040833
使用sizeof并预赋值的运算时间:0.00348806381226
使用sizeof不预赋值的运算时间:0.0560750961304

第26次的运行:
使用count并预赋值的运算时间:0.00352787971497
使用count不预赋值的运算时间:0.0157690048218
使用sizeof并预赋值的运算时间:0.0470631122589
使用sizeof不预赋值的运算时间:0.038596868515

第27次的运行:
使用count并预赋值的运算时间:0.00349998474121
使用count不预赋值的运算时间:0.0206980705261
使用sizeof并预赋值的运算时间:0.00351405143738
使用sizeof不预赋值的运算时间:0.0254380702972

第28次的运行:
使用count并预赋值的运算时间:0.00774598121643
使用count不预赋值的运算时间:0.0297131538391
使用sizeof并预赋值的运算时间:0.00378704071045
使用sizeof不预赋值的运算时间:0.0341019630432

第29次的运行:
使用count并预赋值的运算时间:0.00460505485535
使用count不预赋值的运算时间:0.0176260471344
使用sizeof并预赋值的运算时间:0.00448989868164
使用sizeof不预赋值的运算时间:0.0148561000824

第30次的运行:
使用count并预赋值的运算时间:0.00347900390625
使用count不预赋值的运算时间:0.034117937088
使用sizeof并预赋值的运算时间:0.00352191925049
使用sizeof不预赋值的运算时间:0.171370029449

第31次的运行:
使用count并预赋值的运算时间:0.00352191925049
使用count不预赋值的运算时间:0.0659940242767
使用sizeof并预赋值的运算时间:0.00352096557617
使用sizeof不预赋值的运算时间:0.0263800621033

第32次的运行:
使用count并预赋值的运算时间:0.00451707839966
使用count不预赋值的运算时间:0.025153875351
使用sizeof并预赋值的运算时间:0.0150098800659
使用sizeof不预赋值的运算时间:0.0143671035767

第33次的运行:
使用count并预赋值的运算时间:0.00908303260803
使用count不预赋值的运算时间:0.0174698829651
使用sizeof并预赋值的运算时间:0.00350117683411
使用sizeof不预赋值的运算时间:0.0138540267944

第34次的运行:
使用count并预赋值的运算时间:0.0148820877075
使用count不预赋值的运算时间:0.0143599510193
使用sizeof并预赋值的运算时间:0.00417494773865
使用sizeof不预赋值的运算时间:0.0181879997253

第35次的运行:
使用count并预赋值的运算时间:0.00918292999268
使用count不预赋值的运算时间:0.0524349212646
使用sizeof并预赋值的运算时间:0.00348210334778
使用sizeof不预赋值的运算时间:0.0202949047089

第36次的运行:
使用count并预赋值的运算时间:0.0110111236572
使用count不预赋值的运算时间:0.0380802154541
使用sizeof并预赋值的运算时间:0.00351285934448
使用sizeof不预赋值的运算时间:0.0305058956146

第37次的运行:
使用count并预赋值的运算时间:0.00371408462524
使用count不预赋值的运算时间:0.0180377960205
使用sizeof并预赋值的运算时间:0.00349402427673
使用sizeof不预赋值的运算时间:0.0170228481293

第38次的运行:
使用count并预赋值的运算时间:0.00350403785706
使用count不预赋值的运算时间:0.0139110088348
使用sizeof并预赋值的运算时间:0.00349092483521
使用sizeof不预赋值的运算时间:0.0326750278473

第39次的运行:
使用count并预赋值的运算时间:0.00348997116089
使用count不预赋值的运算时间:0.0510098934174
使用sizeof并预赋值的运算时间:0.00351500511169
使用sizeof不预赋值的运算时间:0.0522661209106

第40次的运行:
使用count并预赋值的运算时间:0.0259811878204
使用count不预赋值的运算时间:0.0128650665283
使用sizeof并预赋值的运算时间:0.0106520652771
使用sizeof不预赋值的运算时间:0.0155670642853

第41次的运行:
使用count并预赋值的运算时间:0.00529408454895
使用count不预赋值的运算时间:0.049143075943
使用sizeof并预赋值的运算时间:0.00565600395203
使用sizeof不预赋值的运算时间:0.0156409740448

第42次的运行:
使用count并预赋值的运算时间:0.0101189613342
使用count不预赋值的运算时间:0.0156469345093
使用sizeof并预赋值的运算时间:0.00512504577637
使用sizeof不预赋值的运算时间:0.0481250286102

第43次的运行:
使用count并预赋值的运算时间:0.00350117683411
使用count不预赋值的运算时间:0.0196659564972
使用sizeof并预赋值的运算时间:0.003497838974
使用sizeof不预赋值的运算时间:0.0144829750061

第44次的运行:
使用count并预赋值的运算时间:0.0046968460083
使用count不预赋值的运算时间:0.0204589366913
使用sizeof并预赋值的运算时间:0.00443482398987
使用sizeof不预赋值的运算时间:0.0325391292572

第45次的运行:
使用count并预赋值的运算时间:0.00373697280884
使用count不预赋值的运算时间:0.0175180435181
使用sizeof并预赋值的运算时间:0.00500011444092
使用sizeof不预赋值的运算时间:0.0489931106567

第46次的运行:
使用count并预赋值的运算时间:0.0171191692352
使用count不预赋值的运算时间:0.0229430198669
使用sizeof并预赋值的运算时间:0.00492882728577
使用sizeof不预赋值的运算时间:0.0276050567627

第47次的运行:
使用count并预赋值的运算时间:0.00491499900818
使用count不预赋值的运算时间:0.0319838523865
使用sizeof并预赋值的运算时间:0.0348918437958
使用sizeof不预赋值的运算时间:0.0154719352722

第48次的运行:
使用count并预赋值的运算时间:0.00947093963623
使用count不预赋值的运算时间:0.0310649871826
使用sizeof并预赋值的运算时间:0.00453901290894
使用sizeof不预赋值的运算时间:0.043121099472

第49次的运行:
使用count并预赋值的运算时间:0.00513100624084
使用count不预赋值的运算时间:0.0294921398163
使用sizeof并预赋值的运算时间:0.00350284576416
使用sizeof不预赋值的运算时间:0.0362110137939

第50次的运行:
使用count并预赋值的运算时间:0.00349903106689
使用count不预赋值的运算时间:0.0700988769531
使用sizeof并预赋值的运算时间:0.00348711013794
使用sizeof不预赋值的运算时间:0.0457339286804

第51次的运行:
使用count并预赋值的运算时间:0.00352382659912
使用count不预赋值的运算时间:0.0278708934784
使用sizeof并预赋值的运算时间:0.00357103347778
使用sizeof不预赋值的运算时间:0.0153470039368

第52次的运行:
使用count并预赋值的运算时间:0.00350189208984
使用count不预赋值的运算时间:0.0179328918457
使用sizeof并预赋值的运算时间:0.00368618965149
使用sizeof不预赋值的运算时间:0.0287809371948

第53次的运行:
使用count并预赋值的运算时间:0.00873517990112
使用count不预赋值的运算时间:0.018012046814
使用sizeof并预赋值的运算时间:0.00427603721619
使用sizeof不预赋值的运算时间:0.0210781097412

第54次的运行:
使用count并预赋值的运算时间:0.00349497795105
使用count不预赋值的运算时间:0.0223100185394
使用sizeof并预赋值的运算时间:0.0470111370087
使用sizeof不预赋值的运算时间:0.0155329704285

第55次的运行:
使用count并预赋值的运算时间:0.00351810455322
使用count不预赋值的运算时间:0.0380029678345
使用sizeof并预赋值的运算时间:0.00348901748657
使用sizeof不预赋值的运算时间:0.0412139892578

第56次的运行:
使用count并预赋值的运算时间:0.00351500511169
使用count不预赋值的运算时间:0.0721051692963
使用sizeof并预赋值的运算时间:0.00359511375427
使用sizeof不预赋值的运算时间:0.0729160308838

第57次的运行:
使用count并预赋值的运算时间:0.00394797325134
使用count不预赋值的运算时间:0.0793769359589
使用sizeof并预赋值的运算时间:0.00350284576416
使用sizeof不预赋值的运算时间:0.0839030742645

第58次的运行:
使用count并预赋值的运算时间:0.0038321018219
使用count不预赋值的运算时间:0.0912230014801
使用sizeof并预赋值的运算时间:0.00352096557617
使用sizeof不预赋值的运算时间:0.0449318885803

第59次的运行:
使用count并预赋值的运算时间:0.00609588623047
使用count不预赋值的运算时间:0.0198919773102
使用sizeof并预赋值的运算时间:0.00560903549194
使用sizeof不预赋值的运算时间:0.104423999786

第60次的运行:
使用count并预赋值的运算时间:0.00486207008362
使用count不预赋值的运算时间:0.0140891075134
使用sizeof并预赋值的运算时间:0.0353620052338
使用sizeof不预赋值的运算时间:0.0166618824005

第61次的运行:
使用count并预赋值的运算时间:0.00504207611084
使用count不预赋值的运算时间:0.0145761966705
使用sizeof并预赋值的运算时间:0.0210061073303
使用sizeof不预赋值的运算时间:0.0127689838409

第62次的运行:
使用count并预赋值的运算时间:0.0117790699005
使用count不预赋值的运算时间:0.0212390422821
使用sizeof并预赋值的运算时间:0.027163028717
使用sizeof不预赋值的运算时间:0.0204708576202

第63次的运行:
使用count并预赋值的运算时间:0.00350499153137
使用count不预赋值的运算时间:0.0152018070221
使用sizeof并预赋值的运算时间:0.00487589836121
使用sizeof不预赋值的运算时间:0.0227859020233

第64次的运行:
使用count并预赋值的运算时间:0.00349307060242
使用count不预赋值的运算时间:0.036906003952
使用sizeof并预赋值的运算时间:0.00349903106689
使用sizeof不预赋值的运算时间:0.0369441509247

第65次的运行:
使用count并预赋值的运算时间:0.00348091125488
使用count不预赋值的运算时间:0.0226628780365
使用sizeof并预赋值的运算时间:0.0570800304413
使用sizeof不预赋值的运算时间:0.0350410938263

第66次的运行:
使用count并预赋值的运算时间:0.00357699394226
使用count不预赋值的运算时间:0.031131029129
使用sizeof并预赋值的运算时间:0.00493407249451
使用sizeof不预赋值的运算时间:0.0204250812531

第67次的运行:
使用count并预赋值的运算时间:0.00548100471497
使用count不预赋值的运算时间:0.01580286026
使用sizeof并预赋值的运算时间:0.00348901748657
使用sizeof不预赋值的运算时间:0.0159151554108

第68次的运行:
使用count并预赋值的运算时间:0.00373196601868
使用count不预赋值的运算时间:0.0172181129456
使用sizeof并预赋值的运算时间:0.00529098510742
使用sizeof不预赋值的运算时间:0.0419311523438

第69次的运行:
使用count并预赋值的运算时间:0.0040237903595
使用count不预赋值的运算时间:0.038115978241
使用sizeof并预赋值的运算时间:0.00349903106689
使用sizeof不预赋值的运算时间:0.0295240879059

第70次的运行:
使用count并预赋值的运算时间:0.0202300548553
使用count不预赋值的运算时间:0.0153691768646
使用sizeof并预赋值的运算时间:0.00350093841553
使用sizeof不预赋值的运算时间:0.0242710113525

第71次的运行:
使用count并预赋值的运算时间:0.00382089614868
使用count不预赋值的运算时间:0.0164680480957
使用sizeof并预赋值的运算时间:0.00707817077637
使用sizeof不预赋值的运算时间:0.0427758693695

第72次的运行:
使用count并预赋值的运算时间:0.00446796417236
使用count不预赋值的运算时间:0.0135679244995
使用sizeof并预赋值的运算时间:0.0118870735168
使用sizeof不预赋值的运算时间:0.0280859470367

第73次的运行:
使用count并预赋值的运算时间:0.00428795814514
使用count不预赋值的运算时间:0.0307030677795
使用sizeof并预赋值的运算时间:0.00348091125488
使用sizeof不预赋值的运算时间:0.0240411758423

第74次的运行:
使用count并预赋值的运算时间:0.00355505943298
使用count不预赋值的运算时间:0.0196061134338
使用sizeof并预赋值的运算时间:0.00355410575867
使用sizeof不预赋值的运算时间:0.0428280830383

第75次的运行:
使用count并预赋值的运算时间:0.00348997116089
使用count不预赋值的运算时间:0.0358090400696
使用sizeof并预赋值的运算时间:0.00362014770508
使用sizeof不预赋值的运算时间:0.0405781269073

第76次的运行:
使用count并预赋值的运算时间:0.00351405143738
使用count不预赋值的运算时间:0.0123388767242
使用sizeof并预赋值的运算时间:0.00403213500977
使用sizeof不预赋值的运算时间:0.0124580860138

第77次的运行:
使用count并预赋值的运算时间:0.0034761428833
使用count不预赋值的运算时间:0.0351569652557
使用sizeof并预赋值的运算时间:0.00350117683411
使用sizeof不预赋值的运算时间:0.0278329849243

第78次的运行:
使用count并预赋值的运算时间:0.00376915931702
使用count不预赋值的运算时间:0.021476984024
使用sizeof并预赋值的运算时间:0.00450992584229
使用sizeof不预赋值的运算时间:0.028214931488

第79次的运行:
使用count并预赋值的运算时间:0.00400900840759
使用count不预赋值的运算时间:0.021744966507
使用sizeof并预赋值的运算时间:0.00349116325378
使用sizeof不预赋值的运算时间:0.0143179893494

第80次的运行:
使用count并预赋值的运算时间:0.00348496437073
使用count不预赋值的运算时间:0.0172970294952
使用sizeof并预赋值的运算时间:0.00351595878601
使用sizeof不预赋值的运算时间:0.0167398452759

第81次的运行:
使用count并预赋值的运算时间:0.0145168304443
使用count不预赋值的运算时间:0.0183050632477
使用sizeof并预赋值的运算时间:0.0103230476379
使用sizeof不预赋值的运算时间:0.0228750705719

第82次的运行:
使用count并预赋值的运算时间:0.0034818649292
使用count不预赋值的运算时间:0.0132100582123
使用sizeof并预赋值的运算时间:0.00415897369385
使用sizeof不预赋值的运算时间:0.0128638744354

第83次的运行:
使用count并预赋值的运算时间:0.00348877906799
使用count不预赋值的运算时间:0.0718622207642
使用sizeof并预赋值的运算时间:0.00443601608276
使用sizeof不预赋值的运算时间:0.0127050876617

第84次的运行:
使用count并预赋值的运算时间:0.00700688362122
使用count不预赋值的运算时间:0.015389919281
使用sizeof并预赋值的运算时间:0.00348901748657
使用sizeof不预赋值的运算时间:0.0290579795837

第85次的运行:
使用count并预赋值的运算时间:0.00349903106689
使用count不预赋值的运算时间:0.0177948474884
使用sizeof并预赋值的运算时间:0.00349998474121
使用sizeof不预赋值的运算时间:0.0251438617706

第86次的运行:
使用count并预赋值的运算时间:0.00424003601074
使用count不预赋值的运算时间:0.0329968929291
使用sizeof并预赋值的运算时间:0.0034818649292
使用sizeof不预赋值的运算时间:0.0239839553833

第87次的运行:
使用count并预赋值的运算时间:0.00350499153137
使用count不预赋值的运算时间:0.0173962116241
使用sizeof并预赋值的运算时间:0.00349903106689
使用sizeof不预赋值的运算时间:0.0271801948547

第88次的运行:
使用count并预赋值的运算时间:0.00350999832153
使用count不预赋值的运算时间:0.0266509056091
使用sizeof并预赋值的运算时间:0.00526809692383
使用sizeof不预赋值的运算时间:0.0141890048981

第89次的运行:
使用count并预赋值的运算时间:0.00351190567017
使用count不预赋值的运算时间:0.0723919868469
使用sizeof并预赋值的运算时间:0.0102820396423
使用sizeof不预赋值的运算时间:0.0284628868103

第90次的运行:
使用count并预赋值的运算时间:0.00423502922058
使用count不预赋值的运算时间:0.0140068531036
使用sizeof并预赋值的运算时间:0.00648188591003
使用sizeof不预赋值的运算时间:0.0433478355408

第91次的运行:
使用count并预赋值的运算时间:0.00350689888
使用count不预赋值的运算时间:0.0123670101166
使用sizeof并预赋值的运算时间:0.00348591804504
使用sizeof不预赋值的运算时间:0.0124831199646

第92次的运行:
使用count并预赋值的运算时间:0.00348401069641
使用count不预赋值的运算时间:0.0278739929199
使用sizeof并预赋值的运算时间:0.0146780014038
使用sizeof不预赋值的运算时间:0.0300691127777

第93次的运行:
使用count并预赋值的运算时间:0.0188491344452
使用count不预赋值的运算时间:0.0235509872437
使用sizeof并预赋值的运算时间:0.00353312492371
使用sizeof不预赋值的运算时间:0.0125679969788

第94次的运行:
使用count并预赋值的运算时间:0.00821590423584
使用count不预赋值的运算时间:0.0364110469818
使用sizeof并预赋值的运算时间:0.00355792045593
使用sizeof不预赋值的运算时间:0.0132718086243

第95次的运行:
使用count并预赋值的运算时间:0.00350594520569
使用count不预赋值的运算时间:0.0179660320282
使用sizeof并预赋值的运算时间:0.00473403930664
使用sizeof不预赋值的运算时间:0.0153119564056

第96次的运行:
使用count并预赋值的运算时间:0.0035080909729
使用count不预赋值的运算时间:0.0282120704651
使用sizeof并预赋值的运算时间:0.00348687171936
使用sizeof不预赋值的运算时间:0.0243389606476

第97次的运行:
使用count并预赋值的运算时间:0.00414109230042
使用count不预赋值的运算时间:0.0135178565979
使用sizeof并预赋值的运算时间:0.0170869827271
使用sizeof不预赋值的运算时间:0.0221691131592

第98次的运行:
使用count并预赋值的运算时间:0.00756692886353
使用count不预赋值的运算时间:0.0130579471588
使用sizeof并预赋值的运算时间:0.0064480304718
使用sizeof不预赋值的运算时间:0.0131480693817

第99次的运行:
使用count并预赋值的运算时间:0.00796604156494
使用count不预赋值的运算时间:0.0224590301514
使用sizeof并预赋值的运算时间:0.00349092483521
使用sizeof不预赋值的运算时间:0.0310389995575

第100次的运行:
使用count并预赋值的运算时间:0.00354194641113
使用count不预赋值的运算时间:0.0153410434723
使用sizeof并预赋值的运算时间:0.00628995895386
使用sizeof不预赋值的运算时间:0.0325858592987

不赋值count胜57次,sizeof胜43次。预赋值count胜51次,sizeof胜49次。

从结果可以看出,count和sizeof没有效率上的差异,但是在循环中使用count或sizeof代价高昂

Posted in Uncategorized • Tags: Top Of Page

Write a comment