MSVC, Windows 7 64 bit: MSVC2012: cl -O2 /EHsc /FAsc -I. /arch:SSE2 uuid_operators.cpp x86: Values placed on stack: stock_equal duration: 385585729 ns mem_equal duration: 208268908 ns simd_equal duration: 184998448 ns stock_less duration: 523815274 ns mem_less duration: 262142097 ns simd_less duration: 407706323 ns Values placed on heap: stock_equal duration: 395846572 ns mem_equal duration: 211906733 ns simd_equal duration: 187613503 ns stock_less duration: 524711253 ns mem_less duration: 262090296 ns simd_less duration: 406590490 ns x64: Values placed on stack: stock_equal duration: 162378816 ns mem_equal duration: 143125355 ns simd_equal duration: 143351534 ns stock_less duration: 143330150 ns mem_less duration: 145206737 ns simd_less duration: 144979053 ns Values placed on heap: stock_equal duration: 215486734 ns mem_equal duration: 217479272 ns simd_equal duration: 191416670 ns stock_less duration: 500339719 ns mem_less duration: 500204192 ns simd_less duration: 292208746 ns MSVC2010: cl -O2 /EHsc /FAsc -I. /arch:SSE2 uuid_operators.cpp x86: Values placed on stack: stock_equal duration: 411693505 ns mem_equal duration: 288218552 ns simd_equal duration: 193261032 ns stock_less duration: 530464794 ns mem_less duration: 290222835 ns simd_less duration: 393648637 ns Values placed on heap: stock_equal duration: 389629832 ns mem_equal duration: 285859191 ns simd_equal duration: 190600200 ns stock_less duration: 503380024 ns mem_less duration: 286412439 ns simd_less duration: 390293911 ns MSVC2008: cl -O2 /EHsc /FAsc -I. /arch:SSE2 uuid_operators.cpp x86: Values placed on stack: stock_equal duration: 825935507 ns mem_equal duration: 262057167 ns simd_equal duration: 204409421 ns stock_less duration: 504532600 ns mem_less duration: 265216435 ns simd_less duration: 428368956 ns Values placed on heap: stock_equal duration: 799719912 ns mem_equal duration: 262037290 ns simd_equal duration: 205817087 ns stock_less duration: 502868638 ns mem_less duration: 263070301 ns simd_less duration: 430602429 ns MSVC2005: cl -O2 /EHsc /FAsc -I. /arch:SSE2 uuid_operators.cpp x86: Values placed on stack: stock_equal duration: 821200521 ns mem_equal duration: 286944605 ns simd_equal duration: 206736256 ns stock_less duration: 528002433 ns mem_less duration: 336763151 ns simd_less duration: 431491782 ns Values placed on heap: stock_equal duration: 810807766 ns mem_equal duration: 262068913 ns simd_equal duration: 206730233 ns stock_less duration: 526178852 ns mem_less duration: 290002680 ns simd_less duration: 432586232 ns x64: Values placed on stack: stock_equal duration: 164054222 ns mem_equal duration: 145751553 ns simd_equal duration: 144433635 ns stock_less duration: 144657404 ns mem_less duration: 146133134 ns simd_less duration: 143884302 ns Values placed on heap: stock_equal duration: 214376925 ns mem_equal duration: 216796822 ns simd_equal duration: 174236460 ns stock_less duration: 506133616 ns mem_less duration: 507416598 ns simd_less duration: 300273160 ns MSVC2003: cl -O2 /EHsc /FAsc -I. /arch:SSE2 uuid_operators.cpp x86: Values placed on stack: stock_equal duration: 1487362026 ns mem_equal duration: 1482751122 ns simd_equal duration: 223122283 ns stock_less duration: 1469194883 ns mem_less duration: 1469612304 ns simd_less duration: 446519535 ns Values placed on heap: stock_equal duration: 1465020374 ns mem_equal duration: 1464961646 ns simd_equal duration: 232510036 ns stock_less duration: 1481017591 ns mem_less duration: 1470003222 ns simd_less duration: 484063619 ns ========================================================= GCC, Kubuntu 12.10 64 bit: GCC 4.7.2: g++ -O3 -I. -msse -msse2 -o uuid_operators uuid_operators.cpp -lrt x86_64: Values placed on stack: stock_equal duration: 599546069 ns mem_equal duration: 595503708 ns simd_equal duration: 171722011 ns stock_less duration: 595471552 ns mem_less duration: 595484114 ns simd_less duration: 297652902 ns Values placed on heap: stock_equal duration: 595483446 ns mem_equal duration: 595482764 ns simd_equal duration: 172710439 ns stock_less duration: 595481317 ns mem_less duration: 595476820 ns simd_less duration: 303362355 ns x86: Values placed on stack: stock_equal duration: 624148063 ns mem_equal duration: 629764422 ns simd_equal duration: 190699232 ns stock_less duration: 643442579 ns mem_less duration: 619679364 ns simd_less duration: 400234286 ns Values placed on heap: stock_equal duration: 619602689 ns mem_equal duration: 619483456 ns simd_equal duration: 190799326 ns stock_less duration: 643743599 ns mem_less duration: 619631374 ns simd_less duration: 363747045 ns g++ -O3 -I. -mavx -o uuid_operators uuid_operators.cpp -lrt x86_64: Values placed on stack: stock_equal duration: 605621784 ns mem_equal duration: 597299214 ns simd_equal duration: 167443298 ns stock_less duration: 622186830 ns mem_less duration: 597847765 ns simd_less duration: 264730535 ns Values placed on heap: stock_equal duration: 597678084 ns mem_equal duration: 597500937 ns simd_equal duration: 167761180 ns stock_less duration: 621083590 ns mem_less duration: 596562517 ns simd_less duration: 267710637 ns x86: Values placed on stack: stock_equal duration: 650150454 ns mem_equal duration: 643796940 ns simd_equal duration: 185389700 ns stock_less duration: 643852079 ns mem_less duration: 643665338 ns simd_less duration: 350297359 ns Values placed on heap: stock_equal duration: 596090364 ns mem_equal duration: 596149134 ns simd_equal duration: 173268656 ns stock_less duration: 596237149 ns mem_less duration: 596205699 ns simd_less duration: 318977509 ns GCC 4.6.3: g++-4.6 -O3 -I. -msse -msse2 -o uuid_operators uuid_operators.cpp -lrt x86_64: Values placed on stack: stock_equal duration: 607002020 ns mem_equal duration: 597378729 ns simd_equal duration: 174215364 ns stock_less duration: 596677553 ns mem_less duration: 596711716 ns simd_less duration: 298031923 ns Values placed on heap: stock_equal duration: 596969632 ns mem_equal duration: 597297185 ns simd_equal duration: 173193359 ns stock_less duration: 596662535 ns mem_less duration: 596997176 ns simd_less duration: 300464432 ns x86: Values placed on stack: stock_equal duration: 625743594 ns mem_equal duration: 620273378 ns simd_equal duration: 192357837 ns stock_less duration: 620556350 ns mem_less duration: 620054516 ns simd_less duration: 411741235 ns Values placed on heap: stock_equal duration: 666983500 ns mem_equal duration: 667167022 ns simd_equal duration: 190588782 ns stock_less duration: 667071022 ns mem_less duration: 667092584 ns simd_less duration: 366260579 ns g++-4.6 -O3 -I. -mavx -o uuid_operators uuid_operators.cpp -lrt x86_64: Values placed on stack: stock_equal duration: 607349212 ns mem_equal duration: 597788221 ns simd_equal duration: 191001845 ns stock_less duration: 621248884 ns mem_less duration: 597086441 ns simd_less duration: 264363829 ns Values placed on heap: stock_equal duration: 597399191 ns mem_equal duration: 596467830 ns simd_equal duration: 191135022 ns stock_less duration: 620856389 ns mem_less duration: 596665146 ns simd_less duration: 262977253 ns x86: Values placed on stack: stock_equal duration: 601166955 ns mem_equal duration: 595999815 ns simd_equal duration: 174248736 ns stock_less duration: 623161532 ns mem_less duration: 596647649 ns simd_less duration: 317732295 ns Values placed on heap: stock_equal duration: 595953060 ns mem_equal duration: 596500802 ns simd_equal duration: 172724084 ns stock_less duration: 619912874 ns mem_less duration: 597090921 ns simd_less duration: 317776199 ns GCC 4.5.4: g++-4.5 -O3 -I. -msse -msse2 -o uuid_operators uuid_operators.cpp -lrt x86_64: Values placed on stack: stock_equal duration: 600000683 ns mem_equal duration: 596089220 ns simd_equal duration: 169593398 ns stock_less duration: 596999027 ns mem_less duration: 595945657 ns simd_less duration: 297670397 ns Values placed on heap: stock_equal duration: 596131103 ns mem_equal duration: 595994370 ns simd_equal duration: 177809014 ns stock_less duration: 596863768 ns mem_less duration: 596742334 ns simd_less duration: 304107934 ns x86: Values placed on stack: stock_equal duration: 606687852 ns mem_equal duration: 620794399 ns simd_equal duration: 237302435 ns stock_less duration: 620893833 ns mem_less duration: 596998517 ns simd_less duration: 410355976 ns Values placed on heap: stock_equal duration: 645052964 ns mem_equal duration: 668261503 ns simd_equal duration: 238720315 ns stock_less duration: 668252200 ns mem_less duration: 644389516 ns simd_less duration: 410616747 ns g++-4.5 -O3 -I. -mavx -o uuid_operators uuid_operators.cpp -lrt x86_64: Values placed on stack: stock_equal duration: 598322010 ns mem_equal duration: 596565696 ns simd_equal duration: 170349933 ns stock_less duration: 595654091 ns mem_less duration: 595632066 ns simd_less duration: 260783795 ns Values placed on heap: stock_equal duration: 595693589 ns mem_equal duration: 595982131 ns simd_equal duration: 179125709 ns stock_less duration: 595742907 ns mem_less duration: 596052397 ns simd_less duration: 266993227 ns x86: Values placed on stack: stock_equal duration: 678657268 ns mem_equal duration: 647245492 ns simd_equal duration: 244345621 ns stock_less duration: 646744676 ns mem_less duration: 667751100 ns simd_less duration: 375501133 ns Values placed on heap: stock_equal duration: 667725985 ns mem_equal duration: 643927346 ns simd_equal duration: 239788683 ns stock_less duration: 644073018 ns mem_less duration: 667697246 ns simd_less duration: 375453658 ns GCC 4.4.7: g++-4.4 -O3 -I. -msse -msse2 -o uuid_operators uuid_operators.cpp -lrt x86_64: Values placed on stack: stock_equal duration: 1353314670 ns mem_equal duration: 1345840842 ns simd_equal duration: 169372918 ns stock_less duration: 1369669862 ns mem_less duration: 1369667088 ns simd_less duration: 297916387 ns Values placed on heap: stock_equal duration: 1464899382 ns mem_equal duration: 1464921857 ns simd_equal duration: 172664607 ns stock_less duration: 1369677677 ns mem_less duration: 1489198491 ns simd_less duration: 299900985 ns x86: Values placed on stack: stock_equal duration: 1597650710 ns mem_equal duration: 1611017124 ns simd_equal duration: 239511872 ns stock_less duration: 1755204014 ns mem_less duration: 1599466743 ns simd_less duration: 457138170 ns Values placed on heap: stock_equal duration: 1587612525 ns mem_equal duration: 1611555718 ns simd_equal duration: 235670722 ns stock_less duration: 1754543198 ns mem_less duration: 1599407344 ns simd_less duration: 415121555 ns g++-4.4 -O3 -I. -mavx -o uuid_operators uuid_operators.cpp -lrt x86_64: Values placed on stack: stock_equal duration: 1361418661 ns mem_equal duration: 1359702775 ns simd_equal duration: 170324515 ns stock_less duration: 1383434175 ns mem_less duration: 1375447991 ns simd_less duration: 263764498 ns Values placed on heap: stock_equal duration: 1470552970 ns mem_equal duration: 1471171632 ns simd_equal duration: 172300784 ns stock_less duration: 1376588742 ns mem_less duration: 1495920584 ns simd_less duration: 264340303 ns x86: Values placed on stack: stock_equal duration: 1625600778 ns mem_equal duration: 1607884085 ns simd_equal duration: 237171601 ns stock_less duration: 1762613628 ns mem_less duration: 1595734509 ns simd_less duration: 375781062 ns Values placed on heap: stock_equal duration: 1619776990 ns mem_equal duration: 1607844908 ns simd_equal duration: 240271443 ns stock_less duration: 1762681895 ns mem_less duration: 1595817176 ns simd_less duration: 377169149 ns ========================================================= Clang, Kubuntu 12.10 64 bit: Clang 3.2, libstdc++: clang -O3 -I. -msse -msse2 -o uuid_operators uuid_operators.cpp -lstdc++ -lrt x86_64: Values placed on stack: stock_equal duration: 633566274 ns mem_equal duration: 621614521 ns simd_equal duration: 191325847 ns stock_less duration: 597868404 ns mem_less duration: 597716622 ns simd_less duration: 356805084 ns Values placed on heap: stock_equal duration: 621356528 ns mem_equal duration: 621365892 ns simd_equal duration: 191845800 ns stock_less duration: 597451412 ns mem_less duration: 597919633 ns simd_less duration: 320908239 ns x86: Values placed on stack: stock_equal duration: 602885693 ns mem_equal duration: 595771321 ns simd_equal duration: 176856073 ns stock_less duration: 596177154 ns mem_less duration: 597719147 ns simd_less duration: 400532896 ns Values placed on heap: stock_equal duration: 644126776 ns mem_equal duration: 643513477 ns simd_equal duration: 176929870 ns stock_less duration: 643959492 ns mem_less duration: 644674472 ns simd_less duration: 402446441 ns clang -O3 -I. -mavx -o uuid_operators uuid_operators.cpp -lstdc++ -lrt x86_64: Values placed on stack: stock_equal duration: 606221486 ns mem_equal duration: 596220842 ns simd_equal duration: 176945726 ns stock_less duration: 572068485 ns mem_less duration: 571905297 ns simd_less duration: 287093144 ns Values placed on heap: stock_equal duration: 595577161 ns mem_equal duration: 595571806 ns simd_equal duration: 176203830 ns stock_less duration: 571733824 ns mem_less duration: 571769610 ns simd_less duration: 283437547 ns x86: Values placed on stack: stock_equal duration: 675104962 ns mem_equal duration: 693142508 ns simd_equal duration: 206118084 ns stock_less duration: 667151295 ns mem_less duration: 667138753 ns simd_less duration: 359317447 ns Values placed on heap: stock_equal duration: 619469972 ns mem_equal duration: 619436781 ns simd_equal duration: 206082869 ns stock_less duration: 619480712 ns mem_less duration: 619433627 ns simd_less duration: 359468193 ns ========================================================= Intel compiler, Kubuntu 12.10 64 bit: ICC 13.1.1: icc -O3 -I. -msse -msse2 -o uuid_operators uuid_operators.cpp -lrt x86_64: Values placed on stack: stock_equal duration: 388777963 ns mem_equal duration: 358548009 ns simd_equal duration: 191364618 ns stock_less duration: 406795760 ns mem_less duration: 357604491 ns simd_less duration: 337735223 ns Values placed on heap: stock_equal duration: 383114866 ns mem_equal duration: 333830797 ns simd_equal duration: 190771211 ns stock_less duration: 382263905 ns mem_less duration: 358138286 ns simd_less duration: 340722337 ns x86: Values placed on stack: stock_equal duration: 483878650 ns mem_equal duration: 477523620 ns simd_equal duration: 212636974 ns stock_less duration: 441232932 ns mem_less duration: 440941202 ns simd_less duration: 472900820 ns Values placed on heap: stock_equal duration: 486811908 ns mem_equal duration: 480310984 ns simd_equal duration: 198874744 ns stock_less duration: 455203329 ns mem_less duration: 450143661 ns simd_less duration: 439720245 ns icc -O3 -I. -mavx -o uuid_operators uuid_operators.cpp -lrt x86_64: Values placed on stack: stock_equal duration: 410717239 ns mem_equal duration: 367125296 ns simd_equal duration: 191404748 ns stock_less duration: 358168074 ns mem_less duration: 357994237 ns simd_less duration: 304154263 ns Values placed on heap: stock_equal duration: 381898325 ns mem_equal duration: 358205719 ns simd_equal duration: 175060453 ns stock_less duration: 358072049 ns mem_less duration: 358551923 ns simd_less duration: 301089996 ns x86: Values placed on stack: stock_equal duration: 488097479 ns mem_equal duration: 475802599 ns simd_equal duration: 221342900 ns stock_less duration: 448797793 ns mem_less duration: 439071697 ns simd_less duration: 450191446 ns Values placed on heap: stock_equal duration: 477481356 ns mem_equal duration: 479075511 ns simd_equal duration: 202863320 ns stock_less duration: 449455878 ns mem_less duration: 447729554 ns simd_less duration: 402363038 ns