Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- gcc 4.6.3
- gtest 1.6.0
- Intel(R) Pentium(R) Dual CPU T3400 @ 2.16GHz
- отладочная сборка (-g):
- [==========] Running 4 tests from 1 test case.
- [----------] Global test environment set-up.
- [----------] 4 tests from VectorIteratorSpeedTest
- [ RUN ] VectorIteratorSpeedTest.calibrationTest
- [ OK ] VectorIteratorSpeedTest.calibrationTest (176 ms)
- [ RUN ] VectorIteratorSpeedTest.indexTest
- [ OK ] VectorIteratorSpeedTest.indexTest (268 ms)
- [ RUN ] VectorIteratorSpeedTest.iteratorTest
- [ OK ] VectorIteratorSpeedTest.iteratorTest (474 ms)
- [ RUN ] VectorIteratorSpeedTest.indexAtTest
- [ OK ] VectorIteratorSpeedTest.indexAtTest (517 ms)
- [----------] 4 tests from VectorIteratorSpeedTest (1437 ms total)
- [----------] Global test environment tear-down
- [==========] 4 tests from 1 test case ran. (1437 ms total)
- [ PASSED ] 4 tests.
- Рекордсмен, конечно, доступ по индексу без проверки выхода за границы вектора. Относительно него доступ через итератор медленнее в 3.3 раза, по индексу с проверкой выхода за границу - в 3.7 раза (с учетом времени выполнения калибровочного теста)
- релизная сборка (-O2):
- [==========] Running 4 tests from 1 test case.
- [----------] Global test environment set-up.
- [----------] 4 tests from VectorIteratorSpeedTest
- [ RUN ] VectorIteratorSpeedTest.calibrationTest
- [ OK ] VectorIteratorSpeedTest.calibrationTest (99 ms)
- [ RUN ] VectorIteratorSpeedTest.indexTest
- [ OK ] VectorIteratorSpeedTest.indexTest (161 ms)
- [ RUN ] VectorIteratorSpeedTest.iteratorTest
- [ OK ] VectorIteratorSpeedTest.iteratorTest (162 ms)
- [ RUN ] VectorIteratorSpeedTest.indexAtTest
- [ OK ] VectorIteratorSpeedTest.indexAtTest (172 ms)
- [----------] 4 tests from VectorIteratorSpeedTest (594 ms total)
- [----------] Global test environment tear-down
- [==========] 4 tests from 1 test case ran. (594 ms total)
- [ PASSED ] 4 tests.
- Затраты на доступ по индексу и через итератор сравнялись. Версия с проверкой выхода за границы ветора медленнее в 1.2 раза (с учетом времени выполнения калибровочного теста). Время на доступ по индексу за счет оптимизаций уменьшилось в 1.5 раза, по итератору и по индексу с проверкой выхода за границы вектора - в 4.7 раза.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement