Guest User

Untitled

a guest
Jan 8th, 2013
522
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. gcc 4.6.3
  2. gtest 1.6.0
  3. Intel(R) Pentium(R) Dual CPU T3400 @ 2.16GHz
  4.  
  5. отладочная сборка (-g):
  6.  
  7. [==========] Running 4 tests from 1 test case.
  8. [----------] Global test environment set-up.
  9. [----------] 4 tests from VectorIteratorSpeedTest
  10. [ RUN ] VectorIteratorSpeedTest.calibrationTest
  11. [ OK ] VectorIteratorSpeedTest.calibrationTest (176 ms)
  12. [ RUN ] VectorIteratorSpeedTest.indexTest
  13. [ OK ] VectorIteratorSpeedTest.indexTest (268 ms)
  14. [ RUN ] VectorIteratorSpeedTest.iteratorTest
  15. [ OK ] VectorIteratorSpeedTest.iteratorTest (474 ms)
  16. [ RUN ] VectorIteratorSpeedTest.indexAtTest
  17. [ OK ] VectorIteratorSpeedTest.indexAtTest (517 ms)
  18. [----------] 4 tests from VectorIteratorSpeedTest (1437 ms total)
  19.  
  20. [----------] Global test environment tear-down
  21. [==========] 4 tests from 1 test case ran. (1437 ms total)
  22. [ PASSED ] 4 tests.
  23.  
  24. Рекордсмен, конечно, доступ по индексу без проверки выхода за границы вектора. Относительно него доступ через итератор медленнее в 3.3 раза, по индексу с проверкой выхода за границу - в 3.7 раза (с учетом времени выполнения калибровочного теста)
  25.  
  26. релизная сборка (-O2):
  27.  
  28. [==========] Running 4 tests from 1 test case.
  29. [----------] Global test environment set-up.
  30. [----------] 4 tests from VectorIteratorSpeedTest
  31. [ RUN ] VectorIteratorSpeedTest.calibrationTest
  32. [ OK ] VectorIteratorSpeedTest.calibrationTest (99 ms)
  33. [ RUN ] VectorIteratorSpeedTest.indexTest
  34. [ OK ] VectorIteratorSpeedTest.indexTest (161 ms)
  35. [ RUN ] VectorIteratorSpeedTest.iteratorTest
  36. [ OK ] VectorIteratorSpeedTest.iteratorTest (162 ms)
  37. [ RUN ] VectorIteratorSpeedTest.indexAtTest
  38. [ OK ] VectorIteratorSpeedTest.indexAtTest (172 ms)
  39. [----------] 4 tests from VectorIteratorSpeedTest (594 ms total)
  40.  
  41. [----------] Global test environment tear-down
  42. [==========] 4 tests from 1 test case ran. (594 ms total)
  43. [ PASSED ] 4 tests.
  44.  
  45. Затраты на доступ по индексу и через итератор сравнялись. Версия с проверкой выхода за границы ветора медленнее в 1.2 раза (с учетом времени выполнения калибровочного теста). Время на доступ по индексу за счет оптимизаций уменьшилось в 1.5 раза, по итератору и по индексу с проверкой выхода за границы вектора - в 4.7 раза (с учетом времени выполнения калибровочного теста).
RAW Paste Data