-
-
Save s2kw/9204120 to your computer and use it in GitHub Desktop.
using System; | |
using System.Text; | |
using System.Linq; | |
using System.Collections.Generic; | |
using System.Diagnostics; | |
using System.Threading; | |
namespace ConsoleApplication | |
{ | |
class Program{ | |
private const int internalIterations = 1000; | |
private const int externalIterations = 100; | |
private const int dataSize = 1000;//100000; | |
private const int search = dataSize - 1; | |
private static readonly long[] resultsFirst = new long[externalIterations*2]; | |
private static readonly long[] resultsWhereFirst = new long[externalIterations*2]; | |
private static readonly long[] resultsForeach = new long[externalIterations*2]; | |
private static readonly int[] data = Enumerable.Range(0, dataSize).ToArray(); | |
static void Main(string[] args) | |
{ | |
Stopwatch sw = new Stopwatch(); | |
for (int i = 0; i < externalIterations; i++) | |
{ | |
Console.WriteLine("Iteration {0} of {1}", i+1, externalIterations); | |
sw.Restart(); | |
First(); | |
sw.Stop(); | |
resultsFirst[i*2] = sw.ElapsedTicks; | |
Console.WriteLine(" First : {0}", sw.ElapsedTicks); | |
sw.Restart(); | |
WhereFirst(); | |
sw.Stop(); | |
resultsWhereFirst[i*2] = sw.ElapsedTicks; | |
Console.WriteLine("WhereFirst : {0}", sw.ElapsedTicks); | |
sw.Restart(); | |
Foreach(); | |
sw.Stop(); | |
resultsForeach[i*2] = sw.ElapsedTicks; | |
Console.WriteLine(" Foreach : {0}", sw.ElapsedTicks); | |
sw.Restart(); | |
Foreach(); | |
sw.Stop(); | |
resultsForeach[i*2+1] = sw.ElapsedTicks; | |
Console.WriteLine(" Foreach : {0}", sw.ElapsedTicks); | |
sw.Restart(); | |
WhereFirst(); | |
sw.Stop(); | |
resultsWhereFirst[(i*2)+1] = sw.ElapsedTicks; | |
Console.WriteLine("WhereFirst : {0}", sw.ElapsedTicks); | |
sw.Restart(); | |
First(); | |
sw.Stop(); | |
resultsFirst[(i*2)+1] = sw.ElapsedTicks; | |
Console.WriteLine(" First : {0}", sw.ElapsedTicks); | |
} | |
Console.WriteLine("Done!"); | |
Console.WriteLine("Averages:"); | |
Console.WriteLine(" First Average: {0:0.00}", resultsFirst.Average()); | |
Console.WriteLine("WhereFirst Average: {0:0.00}", resultsWhereFirst.Average()); | |
Console.WriteLine(" Foreach Average: {0:0.00}", resultsForeach.Average()); | |
} | |
private static void WhereFirst() | |
{ | |
for (int i = 0; i < internalIterations; i++) | |
{ | |
int item = data.Where(d => d == search).First(); | |
} | |
} | |
private static void First() | |
{ | |
for (int i = 0; i < internalIterations; i++) | |
{ | |
int item = data.First(d => d == search); | |
} | |
} | |
private static void Foreach() | |
{ | |
for (int i = 0; i < internalIterations; i++) | |
foreach (var d in data ) | |
{ | |
int item = d; | |
// ver 2 | |
if(item == (internalIterations -1 )) | |
break; | |
} | |
} | |
} | |
} | |
Iteration 1 of 100
First : 773163
WhereFirst : 176654
Foreach : 143957
Foreach : 106777
WhereFirst : 188297
First : 645112
Iteration 2 of 100
First : 600458
WhereFirst : 182202
Foreach : 152810
Foreach : 137837
WhereFirst : 201488
First : 458041
Iteration 3 of 100
First : 445980
WhereFirst : 138133
Foreach : 120793
Foreach : 85347
WhereFirst : 142946
First : 425347
Iteration 4 of 100
First : 540096
WhereFirst : 164882
Foreach : 89107
Foreach : 138837
WhereFirst : 156865
First : 558647
Iteration 5 of 100
First : 463934
WhereFirst : 153400
Foreach : 85652
Foreach : 95920
WhereFirst : 283562
First : 726952
Iteration 6 of 100
First : 793577
WhereFirst : 749294
Foreach : 185285
Foreach : 240924
WhereFirst : 498752
First : 900280
Iteration 7 of 100
First : 680365
WhereFirst : 270400
Foreach : 117574
Foreach : 118932
WhereFirst : 194382
First : 439917
Iteration 8 of 100
First : 435836
WhereFirst : 148603
Foreach : 82781
Foreach : 73090
WhereFirst : 127624
First : 360335
Iteration 9 of 100
First : 469974
WhereFirst : 159712
Foreach : 128845
Foreach : 81129
WhereFirst : 137366
First : 527357
Iteration 10 of 100
First : 515976
WhereFirst : 178526
Foreach : 91033
Foreach : 119789
WhereFirst : 224435
First : 779932
Iteration 11 of 100
First : 718968
WhereFirst : 171285
Foreach : 93158
Foreach : 79997
WhereFirst : 189024
First : 992171
Iteration 12 of 100
First : 740315
WhereFirst : 163797
Foreach : 110819
Foreach : 93119
WhereFirst : 193026
First : 551931
Iteration 13 of 100
First : 516030
WhereFirst : 142718
Foreach : 74880
Foreach : 67905
WhereFirst : 147182
First : 453466
Iteration 14 of 100
First : 507529
WhereFirst : 194041
Foreach : 133347
Foreach : 94014
WhereFirst : 145066
First : 1139024
Iteration 15 of 100
First : 468215
WhereFirst : 200451
Foreach : 101053
Foreach : 100359
WhereFirst : 182021
First : 547980
Iteration 16 of 100
First : 1119739
WhereFirst : 152816
Foreach : 84121
Foreach : 84448
WhereFirst : 190204
First : 545332
Iteration 17 of 100
First : 679252
WhereFirst : 203143
Foreach : 144845
Foreach : 115969
WhereFirst : 154423
First : 496300
Iteration 18 of 100
First : 382170
WhereFirst : 115611
Foreach : 66798
Foreach : 66041
WhereFirst : 139169
First : 457778
Iteration 19 of 100
First : 410652
WhereFirst : 134046
Foreach : 68731
Foreach : 67325
WhereFirst : 155890
First : 447432
Iteration 20 of 100
First : 358975
WhereFirst : 140033
Foreach : 77284
Foreach : 91707
WhereFirst : 122714
First : 460060
Iteration 21 of 100
First : 511413
WhereFirst : 156779
Foreach : 151541
Foreach : 69231
WhereFirst : 114315
First : 376124
Iteration 22 of 100
First : 386372
WhereFirst : 130382
Foreach : 98949
Foreach : 85517
WhereFirst : 131203
First : 420170
Iteration 23 of 100
First : 577466
WhereFirst : 123487
Foreach : 90829
Foreach : 90294
WhereFirst : 197542
First : 475623
Iteration 24 of 100
First : 391286
WhereFirst : 120548
Foreach : 70541
Foreach : 84640
WhereFirst : 149263
First : 446933
Iteration 25 of 100
First : 379472
WhereFirst : 118036
Foreach : 118612
Foreach : 77651
WhereFirst : 142463
First : 405534
Iteration 26 of 100
First : 429870
WhereFirst : 128234
Foreach : 81454
Foreach : 106131
WhereFirst : 149882
First : 434464
Iteration 27 of 100
First : 435930
WhereFirst : 120407
Foreach : 84494
Foreach : 106989
WhereFirst : 151416
First : 418562
Iteration 28 of 100
First : 420227
WhereFirst : 124013
Foreach : 83180
Foreach : 113239
WhereFirst : 194300
First : 486115
Iteration 29 of 100
First : 433673
WhereFirst : 132793
Foreach : 100039
Foreach : 117825
WhereFirst : 130193
First : 408360
Iteration 30 of 100
First : 462838
WhereFirst : 163283
Foreach : 68439
Foreach : 411152
WhereFirst : 176655
First : 472263
Iteration 31 of 100
First : 425613
WhereFirst : 132595
Foreach : 107482
Foreach : 101488
WhereFirst : 123956
First : 409883
Iteration 32 of 100
First : 378770
WhereFirst : 135266
Foreach : 97934
Foreach : 94952
WhereFirst : 147240
First : 437159
Iteration 33 of 100
First : 426123
WhereFirst : 151327
Foreach : 77275
Foreach : 88911
WhereFirst : 135568
First : 479765
Iteration 34 of 100
First : 377383
WhereFirst : 135043
Foreach : 118894
Foreach : 103816
WhereFirst : 161721
First : 512651
Iteration 35 of 100
First : 379162
WhereFirst : 115119
Foreach : 69890
Foreach : 74106
WhereFirst : 128140
First : 408433
Iteration 36 of 100
First : 467074
WhereFirst : 150497
Foreach : 77921
Foreach : 135896
WhereFirst : 168470
First : 397510
Iteration 37 of 100
First : 392107
WhereFirst : 131563
Foreach : 78604
Foreach : 90484
WhereFirst : 129970
First : 615269
Iteration 38 of 100
First : 423370
WhereFirst : 119116
Foreach : 98126
Foreach : 81098
WhereFirst : 137593
First : 461116
Iteration 39 of 100
First : 456270
WhereFirst : 123776
Foreach : 83190
Foreach : 81267
WhereFirst : 160954
First : 531925
Iteration 40 of 100
First : 386184
WhereFirst : 111854
Foreach : 66689
Foreach : 70638
WhereFirst : 156376
First : 384652
Iteration 41 of 100
First : 419348
WhereFirst : 121865
Foreach : 69877
Foreach : 69080
WhereFirst : 122097
First : 424482
Iteration 42 of 100
First : 457209
WhereFirst : 134700
Foreach : 73471
Foreach : 91170
WhereFirst : 138729
First : 521700
Iteration 43 of 100
First : 399846
WhereFirst : 179873
Foreach : 70742
Foreach : 84068
WhereFirst : 146151
First : 407472
Iteration 44 of 100
First : 445881
WhereFirst : 115352
Foreach : 96441
Foreach : 70127
WhereFirst : 118710
First : 403459
Iteration 45 of 100
First : 620296
WhereFirst : 215393
Foreach : 69916
Foreach : 67461
WhereFirst : 128395
First : 412950
Iteration 46 of 100
First : 396655
WhereFirst : 141196
Foreach : 88674
Foreach : 79510
WhereFirst : 148843
First : 411796
Iteration 47 of 100
First : 388902
WhereFirst : 127701
Foreach : 93506
Foreach : 71970
WhereFirst : 126095
First : 439429
Iteration 48 of 100
First : 393187
WhereFirst : 132117
Foreach : 67197
Foreach : 74801
WhereFirst : 127606
First : 396578
Iteration 49 of 100
First : 371858
WhereFirst : 143482
Foreach : 86994
Foreach : 67553
WhereFirst : 112313
First : 453242
Iteration 50 of 100
First : 388950
WhereFirst : 120512
Foreach : 135368
Foreach : 91080
WhereFirst : 170564
First : 386466
Iteration 51 of 100
First : 416947
WhereFirst : 127102
Foreach : 70442
Foreach : 96610
WhereFirst : 128636
First : 426758
Iteration 52 of 100
First : 359799
WhereFirst : 127014
Foreach : 78387
Foreach : 88145
WhereFirst : 114160
First : 413023
Iteration 53 of 100
First : 600935
WhereFirst : 144398
Foreach : 80196
Foreach : 82477
WhereFirst : 131764
First : 418601
Iteration 54 of 100
First : 379208
WhereFirst : 133506
Foreach : 92555
Foreach : 80950
WhereFirst : 165690
First : 418515
Iteration 55 of 100
First : 398735
WhereFirst : 113884
Foreach : 101106
Foreach : 115642
WhereFirst : 141932
First : 405061
Iteration 56 of 100
First : 435307
WhereFirst : 119444
Foreach : 70388
Foreach : 68482
WhereFirst : 153941
First : 478397
Iteration 57 of 100
First : 442827
WhereFirst : 124521
Foreach : 74706
Foreach : 84565
WhereFirst : 178454
First : 451898
Iteration 58 of 100
First : 404619
WhereFirst : 133152
Foreach : 78414
Foreach : 108288
WhereFirst : 219981
First : 404867
Iteration 59 of 100
First : 448959
WhereFirst : 143340
Foreach : 71500
Foreach : 68704
WhereFirst : 127056
First : 410895
Iteration 60 of 100
First : 423838
WhereFirst : 126267
Foreach : 93197
Foreach : 80826
WhereFirst : 114024
First : 624928
Iteration 61 of 100
First : 386153
WhereFirst : 182219
Foreach : 147425
Foreach : 79232
WhereFirst : 117184
First : 423327
Iteration 62 of 100
First : 391552
WhereFirst : 121192
Foreach : 90483
Foreach : 117893
WhereFirst : 137049
First : 438802
Iteration 63 of 100
First : 371910
WhereFirst : 122878
Foreach : 67557
Foreach : 95880
WhereFirst : 171158
First : 421814
Iteration 64 of 100
First : 472209
WhereFirst : 154920
Foreach : 79847
Foreach : 113497
WhereFirst : 135964
First : 426370
Iteration 65 of 100
First : 441608
WhereFirst : 161409
Foreach : 78503
Foreach : 77123
WhereFirst : 140367
First : 358012
Iteration 66 of 100
First : 432679
WhereFirst : 117098
Foreach : 87152
Foreach : 75824
WhereFirst : 128796
First : 417681
Iteration 67 of 100
First : 423955
WhereFirst : 169651
Foreach : 107165
Foreach : 72587
WhereFirst : 128128
First : 448498
Iteration 68 of 100
First : 658409
WhereFirst : 162343
Foreach : 77768
Foreach : 86787
WhereFirst : 121311
First : 448565
Iteration 69 of 100
First : 464865
WhereFirst : 119092
Foreach : 95016
Foreach : 117232
WhereFirst : 123357
First : 402479
Iteration 70 of 100
First : 451316
WhereFirst : 129195
Foreach : 77756
Foreach : 80695
WhereFirst : 128543
First : 354510
Iteration 71 of 100
First : 499987
WhereFirst : 195857
Foreach : 108528
Foreach : 113553
WhereFirst : 123234
First : 432442
Iteration 72 of 100
First : 438614
WhereFirst : 164590
Foreach : 102152
Foreach : 84132
WhereFirst : 156023
First : 451548
Iteration 73 of 100
First : 488502
WhereFirst : 132389
Foreach : 98766
Foreach : 71194
WhereFirst : 126989
First : 491956
Iteration 74 of 100
First : 392545
WhereFirst : 114602
Foreach : 74423
Foreach : 89249
WhereFirst : 152061
First : 385073
Iteration 75 of 100
First : 376743
WhereFirst : 161052
Foreach : 112322
Foreach : 290811
WhereFirst : 182319
First : 504597
Iteration 76 of 100
First : 448877
WhereFirst : 127174
Foreach : 87346
Foreach : 81734
WhereFirst : 116570
First : 455140
Iteration 77 of 100
First : 417441
WhereFirst : 126986
Foreach : 104513
Foreach : 82401
WhereFirst : 119234
First : 375870
Iteration 78 of 100
First : 405501
WhereFirst : 156172
Foreach : 76456
Foreach : 87996
WhereFirst : 123638
First : 482323
Iteration 79 of 100
First : 475649
WhereFirst : 125796
Foreach : 76823
Foreach : 91450
WhereFirst : 128181
First : 432789
Iteration 80 of 100
First : 366482
WhereFirst : 136466
Foreach : 94989
Foreach : 89745
WhereFirst : 137529
First : 489967
Iteration 81 of 100
First : 375051
WhereFirst : 138718
Foreach : 95486
Foreach : 88249
WhereFirst : 158962
First : 417583
Iteration 82 of 100
First : 419533
WhereFirst : 131650
Foreach : 74147
Foreach : 79049
WhereFirst : 159875
First : 377966
Iteration 83 of 100
First : 566157
WhereFirst : 203065
Foreach : 73113
Foreach : 83602
WhereFirst : 119583
First : 483121
Iteration 84 of 100
First : 419853
WhereFirst : 135092
Foreach : 88446
Foreach : 95818
WhereFirst : 119791
First : 374080
Iteration 85 of 100
First : 452840
WhereFirst : 174094
Foreach : 110534
Foreach : 88195
WhereFirst : 116132
First : 409514
Iteration 86 of 100
First : 396748
WhereFirst : 128033
Foreach : 75542
Foreach : 135732
WhereFirst : 142864
First : 431417
Iteration 87 of 100
First : 407867
WhereFirst : 183315
Foreach : 82775
Foreach : 125372
WhereFirst : 131365
First : 466288
Iteration 88 of 100
First : 424175
WhereFirst : 170717
Foreach : 126750
Foreach : 83948
WhereFirst : 126160
First : 464005
Iteration 89 of 100
First : 437726
WhereFirst : 144935
Foreach : 129577
Foreach : 73044
WhereFirst : 119201
First : 405009
Iteration 90 of 100
First : 494308
WhereFirst : 434576
Foreach : 77823
Foreach : 91399
WhereFirst : 132221
First : 416444
Iteration 91 of 100
First : 395304
WhereFirst : 123657
Foreach : 67226
Foreach : 82121
WhereFirst : 117019
First : 435072
Iteration 92 of 100
First : 456847
WhereFirst : 128384
Foreach : 71469
Foreach : 67105
WhereFirst : 118205
First : 442425
Iteration 93 of 100
First : 457065
WhereFirst : 137762
Foreach : 76550
Foreach : 70951
WhereFirst : 113454
First : 814498
Iteration 94 of 100
First : 695384
WhereFirst : 147528
Foreach : 74108
Foreach : 72943
WhereFirst : 115233
First : 429125
Iteration 95 of 100
First : 355490
WhereFirst : 141553
Foreach : 73106
Foreach : 73688
WhereFirst : 135535
First : 424741
Iteration 96 of 100
First : 504701
WhereFirst : 148151
Foreach : 74534
Foreach : 77008
WhereFirst : 140017
First : 462533
Iteration 97 of 100
First : 1048663
WhereFirst : 302946
Foreach : 154750
Foreach : 149597
WhereFirst : 205385
First : 477346
Iteration 98 of 100
First : 634287
WhereFirst : 325234
Foreach : 226727
Foreach : 222998
WhereFirst : 373013
First : 758521
Iteration 99 of 100
First : 826096
WhereFirst : 286328
Foreach : 266572
Foreach : 275666
WhereFirst : 291363
First : 757948
Iteration 100 of 100
First : 582984
WhereFirst : 248597
Foreach : 137802
Foreach : 128625
WhereFirst : 203762
First : 652930
Done!
Averages:
First Average: 480299.70
WhereFirst Average: 157088.36
Foreach Average: 98462.43
Press any key to continue...
foreachの中で何もしてなかったのがコンパイル時に削除される可能性を指摘頂いたのでif文を追加したv2をup.
Iteration 1 of 100
First : 554527
WhereFirst : 405636
Foreach : 94590
Foreach : 65530
WhereFirst : 141868
First : 460854
Iteration 2 of 100
First : 696527
WhereFirst : 245787
Foreach : 76582
Foreach : 75986
WhereFirst : 175987
First : 426656
Iteration 3 of 100
First : 504053
WhereFirst : 129898
Foreach : 85553
Foreach : 62985
WhereFirst : 126714
First : 651401
Iteration 4 of 100
First : 401733
WhereFirst : 135549
Foreach : 81891
Foreach : 57847
WhereFirst : 129168
First : 370363
Iteration 5 of 100
First : 404227
WhereFirst : 160398
Foreach : 66869
Foreach : 86257
WhereFirst : 114866
First : 472097
Iteration 6 of 100
First : 458489
WhereFirst : 115382
Foreach : 54272
Foreach : 55191
WhereFirst : 130259
First : 460621
Iteration 7 of 100
First : 423169
WhereFirst : 130754
Foreach : 86696
Foreach : 66277
WhereFirst : 128004
First : 404836
Iteration 8 of 100
First : 374578
WhereFirst : 172619
Foreach : 59300
Foreach : 67646
WhereFirst : 147924
First : 394837
Iteration 9 of 100
First : 483043
WhereFirst : 158597
Foreach : 59577
Foreach : 74154
WhereFirst : 164190
First : 457048
Iteration 10 of 100
First : 453609
WhereFirst : 134411
Foreach : 78482
Foreach : 67122
WhereFirst : 154751
First : 392940
Iteration 11 of 100
First : 463740
WhereFirst : 253323
Foreach : 84210
Foreach : 64492
WhereFirst : 144357
First : 427767
Iteration 12 of 100
First : 395460
WhereFirst : 126074
Foreach : 54600
Foreach : 54741
WhereFirst : 113058
First : 390779
Iteration 13 of 100
First : 497409
WhereFirst : 148833
Foreach : 60977
Foreach : 57570
WhereFirst : 120258
First : 427631
Iteration 14 of 100
First : 422823
WhereFirst : 162163
Foreach : 88965
Foreach : 59820
WhereFirst : 113920
First : 372546
Iteration 15 of 100
First : 431488
WhereFirst : 124437
Foreach : 60959
Foreach : 81622
WhereFirst : 161668
First : 465951
Iteration 16 of 100
First : 372338
WhereFirst : 144110
Foreach : 87342
Foreach : 68987
WhereFirst : 142768
First : 425692
Iteration 17 of 100
First : 408092
WhereFirst : 149181
Foreach : 69870
Foreach : 60929
WhereFirst : 144865
First : 403175
Iteration 18 of 100
First : 489449
WhereFirst : 124172
Foreach : 76169
Foreach : 59185
WhereFirst : 144547
First : 457996
Iteration 19 of 100
First : 661481
WhereFirst : 153542
Foreach : 59478
Foreach : 91891
WhereFirst : 165625
First : 464857
Iteration 20 of 100
First : 417325
WhereFirst : 118084
Foreach : 61525
Foreach : 90665
WhereFirst : 142034
First : 437305
Iteration 21 of 100
First : 427154
WhereFirst : 119715
Foreach : 59344
Foreach : 61328
WhereFirst : 143328
First : 403290
Iteration 22 of 100
First : 397059
WhereFirst : 114326
Foreach : 82175
Foreach : 65621
WhereFirst : 181318
First : 382359
Iteration 23 of 100
First : 395334
WhereFirst : 133829
Foreach : 54534
Foreach : 64720
WhereFirst : 122045
First : 452881
Iteration 24 of 100
First : 413857
WhereFirst : 127491
Foreach : 56145
Foreach : 53641
WhereFirst : 174470
First : 415314
Iteration 25 of 100
First : 392559
WhereFirst : 141092
Foreach : 59224
Foreach : 57570
WhereFirst : 114548
First : 398118
Iteration 26 of 100
First : 499918
WhereFirst : 163644
Foreach : 91550
Foreach : 69963
WhereFirst : 115209
First : 489379
Iteration 27 of 100
First : 500973
WhereFirst : 156166
Foreach : 80814
Foreach : 79903
WhereFirst : 119490
First : 461204
Iteration 28 of 100
First : 360503
WhereFirst : 119739
Foreach : 66384
Foreach : 71705
WhereFirst : 142652
First : 367234
Iteration 29 of 100
First : 411455
WhereFirst : 130734
Foreach : 73885
Foreach : 68273
WhereFirst : 190077
First : 428592
Iteration 30 of 100
First : 428921
WhereFirst : 121021
Foreach : 54950
Foreach : 58108
WhereFirst : 159553
First : 435537
Iteration 31 of 100
First : 416412
WhereFirst : 155927
Foreach : 56908
Foreach : 55569
WhereFirst : 136056
First : 404558
Iteration 32 of 100
First : 372726
WhereFirst : 125891
Foreach : 66764
Foreach : 56047
WhereFirst : 151361
First : 395651
Iteration 33 of 100
First : 391776
WhereFirst : 171464
Foreach : 72118
Foreach : 64805
WhereFirst : 114720
First : 410334
Iteration 34 of 100
First : 399736
WhereFirst : 120173
Foreach : 69280
Foreach : 62254
WhereFirst : 139961
First : 520928
Iteration 35 of 100
First : 446422
WhereFirst : 160529
Foreach : 90216
Foreach : 61756
WhereFirst : 193147
First : 420147
Iteration 36 of 100
First : 466464
WhereFirst : 177359
Foreach : 71604
Foreach : 77342
WhereFirst : 148394
First : 353367
Iteration 37 of 100
First : 403733
WhereFirst : 116347
Foreach : 54676
Foreach : 74581
WhereFirst : 140231
First : 396136
Iteration 38 of 100
First : 393788
WhereFirst : 122607
Foreach : 55100
Foreach : 54064
WhereFirst : 129788
First : 415261
Iteration 39 of 100
First : 375309
WhereFirst : 134127
Foreach : 90669
Foreach : 59746
WhereFirst : 112247
First : 387015
Iteration 40 of 100
First : 459404
WhereFirst : 150035
Foreach : 62621
Foreach : 70629
WhereFirst : 138535
First : 444030
Iteration 41 of 100
First : 434946
WhereFirst : 171344
Foreach : 95852
Foreach : 71547
WhereFirst : 131416
First : 463514
Iteration 42 of 100
First : 427193
WhereFirst : 162488
Foreach : 84410
Foreach : 74016
WhereFirst : 132500
First : 562592
Iteration 43 of 100
First : 440843
WhereFirst : 132145
Foreach : 85069
Foreach : 62864
WhereFirst : 119422
First : 370186
Iteration 44 of 100
First : 380203
WhereFirst : 122692
Foreach : 56424
Foreach : 63127
WhereFirst : 159027
First : 411646
Iteration 45 of 100
First : 391201
WhereFirst : 128967
Foreach : 67142
Foreach : 69689
WhereFirst : 171138
First : 457267
Iteration 46 of 100
First : 399697
WhereFirst : 141929
Foreach : 60402
Foreach : 54202
WhereFirst : 176666
First : 399335
Iteration 47 of 100
First : 355379
WhereFirst : 157148
Foreach : 84862
Foreach : 74635
WhereFirst : 118488
First : 403552
Iteration 48 of 100
First : 446687
WhereFirst : 120620
Foreach : 58754
Foreach : 76975
WhereFirst : 143023
First : 435508
Iteration 49 of 100
First : 411151
WhereFirst : 134420
Foreach : 65618
Foreach : 62985
WhereFirst : 200576
First : 461935
Iteration 50 of 100
First : 531549
WhereFirst : 136719
Foreach : 114706
Foreach : 171573
WhereFirst : 159399
First : 419655
Iteration 51 of 100
First : 427450
WhereFirst : 125718
Foreach : 59624
Foreach : 73280
WhereFirst : 114564
First : 392009
Iteration 52 of 100
First : 375882
WhereFirst : 140688
Foreach : 52792
Foreach : 63906
WhereFirst : 138741
First : 374308
Iteration 53 of 100
First : 418455
WhereFirst : 155937
Foreach : 55833
Foreach : 66163
WhereFirst : 128018
First : 375441
Iteration 54 of 100
First : 413092
WhereFirst : 135926
Foreach : 59688
Foreach : 69764
WhereFirst : 159333
First : 401643
Iteration 55 of 100
First : 390619
WhereFirst : 133940
Foreach : 73793
Foreach : 56295
WhereFirst : 143948
First : 417956
Iteration 56 of 100
First : 397187
WhereFirst : 139844
Foreach : 67733
Foreach : 78777
WhereFirst : 116093
First : 349421
Iteration 57 of 100
First : 367951
WhereFirst : 117261
Foreach : 59103
Foreach : 54221
WhereFirst : 176422
First : 368738
Iteration 58 of 100
First : 389563
WhereFirst : 115524
Foreach : 54703
Foreach : 53900
WhereFirst : 113356
First : 557005
Iteration 59 of 100
First : 384515
WhereFirst : 130058
Foreach : 55269
Foreach : 53958
WhereFirst : 113962
First : 430571
Iteration 60 of 100
First : 372958
WhereFirst : 126622
Foreach : 82811
Foreach : 64169
WhereFirst : 114462
First : 350166
Iteration 61 of 100
First : 386261
WhereFirst : 120025
Foreach : 54111
Foreach : 59221
WhereFirst : 176816
First : 440551
Iteration 62 of 100
First : 361329
WhereFirst : 113653
Foreach : 54816
Foreach : 57546
WhereFirst : 116943
First : 433085
Iteration 63 of 100
First : 468154
WhereFirst : 116550
Foreach : 53734
Foreach : 66368
WhereFirst : 156867
First : 399555
Iteration 64 of 100
First : 410986
WhereFirst : 133228
Foreach : 87266
Foreach : 60262
WhereFirst : 138589
First : 381311
Iteration 65 of 100
First : 385688
WhereFirst : 136326
Foreach : 63860
Foreach : 56496
WhereFirst : 122082
First : 434425
Iteration 66 of 100
First : 393575
WhereFirst : 121782
Foreach : 59046
Foreach : 68613
WhereFirst : 152631
First : 424473
Iteration 67 of 100
First : 528199
WhereFirst : 125869
Foreach : 89675
Foreach : 62111
WhereFirst : 152490
First : 423650
Iteration 68 of 100
First : 368227
WhereFirst : 128247
Foreach : 72445
Foreach : 61484
WhereFirst : 144038
First : 346747
Iteration 69 of 100
First : 374849
WhereFirst : 114037
Foreach : 73215
Foreach : 74334
WhereFirst : 157836
First : 410014
Iteration 70 of 100
First : 426121
WhereFirst : 142002
Foreach : 53501
Foreach : 61884
WhereFirst : 143446
First : 358413
Iteration 71 of 100
First : 378402
WhereFirst : 147262
Foreach : 71164
Foreach : 58669
WhereFirst : 132964
First : 381758
Iteration 72 of 100
First : 403210
WhereFirst : 140378
Foreach : 57971
Foreach : 55217
WhereFirst : 113218
First : 427251
Iteration 73 of 100
First : 447339
WhereFirst : 180463
Foreach : 69262
Foreach : 53251
WhereFirst : 118675
First : 447351
Iteration 74 of 100
First : 435545
WhereFirst : 131916
Foreach : 91112
Foreach : 65999
WhereFirst : 158666
First : 440273
Iteration 75 of 100
First : 565811
WhereFirst : 127836
Foreach : 55557
Foreach : 57594
WhereFirst : 134818
First : 394199
Iteration 76 of 100
First : 532096
WhereFirst : 142008
Foreach : 71367
Foreach : 63291
WhereFirst : 118148
First : 402013
Iteration 77 of 100
First : 343981
WhereFirst : 114650
Foreach : 58800
Foreach : 58958
WhereFirst : 140971
First : 457244
Iteration 78 of 100
First : 379313
WhereFirst : 116036
Foreach : 57160
Foreach : 59699
WhereFirst : 176481
First : 444221
Iteration 79 of 100
First : 410673
WhereFirst : 113297
Foreach : 55455
Foreach : 63322
WhereFirst : 112159
First : 382983
Iteration 80 of 100
First : 354972
WhereFirst : 138925
Foreach : 70475
Foreach : 93787
WhereFirst : 129735
First : 451269
Iteration 81 of 100
First : 457234
WhereFirst : 221143
Foreach : 74955
Foreach : 95823
WhereFirst : 124014
First : 397065
Iteration 82 of 100
First : 368376
WhereFirst : 127420
Foreach : 64801
Foreach : 58268
WhereFirst : 164168
First : 411439
Iteration 83 of 100
First : 564848
WhereFirst : 148454
Foreach : 57363
Foreach : 74808
WhereFirst : 165976
First : 384190
Iteration 84 of 100
First : 386902
WhereFirst : 122684
Foreach : 93802
Foreach : 61768
WhereFirst : 140323
First : 376933
Iteration 85 of 100
First : 396594
WhereFirst : 168828
Foreach : 59864
Foreach : 59866
WhereFirst : 143934
First : 398274
Iteration 86 of 100
First : 454328
WhereFirst : 146151
Foreach : 61290
Foreach : 103432
WhereFirst : 143515
First : 400578
Iteration 87 of 100
First : 414533
WhereFirst : 194943
Foreach : 69013
Foreach : 66504
WhereFirst : 146751
First : 378324
Iteration 88 of 100
First : 393605
WhereFirst : 130345
Foreach : 53616
Foreach : 77038
WhereFirst : 134135
First : 378600
Iteration 89 of 100
First : 412377
WhereFirst : 125237
Foreach : 57555
Foreach : 53898
WhereFirst : 116767
First : 362704
Iteration 90 of 100
First : 406601
WhereFirst : 156947
Foreach : 111188
Foreach : 87462
WhereFirst : 138335
First : 378193
Iteration 91 of 100
First : 565585
WhereFirst : 124635
Foreach : 67422
Foreach : 73433
WhereFirst : 159415
First : 413265
Iteration 92 of 100
First : 399857
WhereFirst : 123027
Foreach : 81246
Foreach : 68764
WhereFirst : 126668
First : 355544
Iteration 93 of 100
First : 370433
WhereFirst : 114768
Foreach : 58726
Foreach : 74251
WhereFirst : 147567
First : 386894
Iteration 94 of 100
First : 378544
WhereFirst : 135774
Foreach : 53733
Foreach : 53886
WhereFirst : 116542
First : 367138
Iteration 95 of 100
First : 348077
WhereFirst : 118907
Foreach : 58954
Foreach : 58852
WhereFirst : 124978
First : 348314
Iteration 96 of 100
First : 367204
WhereFirst : 111662
Foreach : 54185
Foreach : 59833
WhereFirst : 113559
First : 401219
Iteration 97 of 100
First : 422641
WhereFirst : 155221
Foreach : 74462
Foreach : 58574
WhereFirst : 157452
First : 399833
Iteration 98 of 100
First : 447343
WhereFirst : 141301
Foreach : 62642
Foreach : 53911
WhereFirst : 110581
First : 450200
Iteration 99 of 100
First : 422729
WhereFirst : 136018
Foreach : 253446
Foreach : 85050
WhereFirst : 145990
First : 414162
Iteration 100 of 100
First : 454130
WhereFirst : 139787
Foreach : 69399
Foreach : 58472
WhereFirst : 173575
First : 394526
Done!
Averages:
First Average: 421187.86
WhereFirst Average: 141646.16
Foreach Average: 68918.39
Press any key to continue...