Информация об изменениях

Сообщение Re[2]: Почему так? от 16.09.2021 17:03

Изменено 16.09.2021 17:05 TailWind

Re[2]: Почему так?
Здравствуйте, Maniacal, Вы писали:

Тоже стало интересно

Сделал в цикле чтение файла по адресу 0
Но тоже самое количество раз, как если бы читал файл целиком

Получается vector проигрывает malloc

vector снаружи цикла:

Buf_Size 0x200     Time: 5656 ms
Buf_Size 0x400     Time: 2907 ms
Buf_Size 0x800     Time: 1484 ms
Buf_Size 0x1000    Time: 781 ms
Buf_Size 0x2000    Time: 453 ms
Buf_Size 0x4000    Time: 297 ms
Buf_Size 0x8000    Time: 313 ms
Buf_Size 0x10000   Time: 250 ms
Buf_Size 0x20000   Time: 250 ms
Buf_Size 0x40000   Time: 234 ms
Buf_Size 0x80000   Time: 203 ms
Buf_Size 0x100000  Time: 219 ms
Buf_Size 0x200000  Time: 219 ms
Buf_Size 0x400000  Time: 265 ms
Buf_Size 0x800000  Time: 500 ms
Buf_Size 0x1000000  Time: 672 ms
Buf_Size 0x2000000  Time: 703 ms
Buf_Size 0x4000000  Time: 719 ms
Buf_Size 0x8000000  Time: 766 ms

malloc внутри цикла:

Buf_Size 0x200     Time: 6109 ms
Buf_Size 0x400     Time: 3281 ms
Buf_Size 0x800     Time: 1688 ms
Buf_Size 0x1000    Time: 890 ms
Buf_Size 0x2000    Time: 500 ms
Buf_Size 0x4000    Time: 328 ms
Buf_Size 0x8000    Time: 329 ms
Buf_Size 0x10000   Time: 265 ms
Buf_Size 0x20000   Time: 235 ms
Buf_Size 0x40000   Time: 250 ms
Buf_Size 0x80000   Time: 1078 ms
Buf_Size 0x100000  Time: 1047 ms
Buf_Size 0x200000  Time: 1093 ms
Buf_Size 0x400000  Time: 1157 ms
Buf_Size 0x800000  Time: 1390 ms
Buf_Size 0x1000000  Time: 1531 ms
Buf_Size 0x2000000  Time: 1563 ms
Buf_Size 0x4000000  Time: 1547 ms
Buf_Size 0x8000000  Time: 1531 ms

vector внутри цикла:

Buf_Size 0x200     Time: 8234 ms
Buf_Size 0x400     Time: 5188 ms
Buf_Size 0x800     Time: 3391 ms
Buf_Size 0x1000    Time: 2500 ms
Buf_Size 0x2000    Time: 2078 ms
Buf_Size 0x4000    Time: 1875 ms
Buf_Size 0x8000    Time: 1875 ms
Buf_Size 0x10000   Time: 1828 ms
Buf_Size 0x20000   Time: 1781 ms
Buf_Size 0x40000   Time: 1859 ms
Buf_Size 0x80000   Time: 2500 ms
Buf_Size 0x100000  Time: 2516 ms
Buf_Size 0x200000  Time: 2516 ms
Buf_Size 0x400000  Time: 2781 ms
Buf_Size 0x800000  Time: 3000 ms
Buf_Size 0x1000000  Time: 3094 ms
Buf_Size 0x2000000  Time: 3062 ms
Buf_Size 0x4000000  Time: 3000 ms
Buf_Size 0x8000000  Time: 2969 ms
Re[2]: Почему так?
Здравствуйте, Maniacal

Тоже стало интересно

Сделал в цикле чтение файла по адресу 0
Чтобы он закешировался и не вносил погрешность измерений
Но тоже самое количество раз, как если бы читал файл целиком
Теперь у меня malloc компилятор не убирает, и можно сделать замеры

Получается vector проигрывает malloc

vector снаружи цикла:

Buf_Size 0x200     Time: 5656 ms
Buf_Size 0x400     Time: 2907 ms
Buf_Size 0x800     Time: 1484 ms
Buf_Size 0x1000    Time: 781 ms
Buf_Size 0x2000    Time: 453 ms
Buf_Size 0x4000    Time: 297 ms
Buf_Size 0x8000    Time: 313 ms
Buf_Size 0x10000   Time: 250 ms
Buf_Size 0x20000   Time: 250 ms
Buf_Size 0x40000   Time: 234 ms
Buf_Size 0x80000   Time: 203 ms
Buf_Size 0x100000  Time: 219 ms
Buf_Size 0x200000  Time: 219 ms
Buf_Size 0x400000  Time: 265 ms
Buf_Size 0x800000  Time: 500 ms
Buf_Size 0x1000000  Time: 672 ms
Buf_Size 0x2000000  Time: 703 ms
Buf_Size 0x4000000  Time: 719 ms
Buf_Size 0x8000000  Time: 766 ms

malloc внутри цикла:

Buf_Size 0x200     Time: 6109 ms
Buf_Size 0x400     Time: 3281 ms
Buf_Size 0x800     Time: 1688 ms
Buf_Size 0x1000    Time: 890 ms
Buf_Size 0x2000    Time: 500 ms
Buf_Size 0x4000    Time: 328 ms
Buf_Size 0x8000    Time: 329 ms
Buf_Size 0x10000   Time: 265 ms
Buf_Size 0x20000   Time: 235 ms
Buf_Size 0x40000   Time: 250 ms
Buf_Size 0x80000   Time: 1078 ms
Buf_Size 0x100000  Time: 1047 ms
Buf_Size 0x200000  Time: 1093 ms
Buf_Size 0x400000  Time: 1157 ms
Buf_Size 0x800000  Time: 1390 ms
Buf_Size 0x1000000  Time: 1531 ms
Buf_Size 0x2000000  Time: 1563 ms
Buf_Size 0x4000000  Time: 1547 ms
Buf_Size 0x8000000  Time: 1531 ms

vector внутри цикла:

Buf_Size 0x200     Time: 8234 ms
Buf_Size 0x400     Time: 5188 ms
Buf_Size 0x800     Time: 3391 ms
Buf_Size 0x1000    Time: 2500 ms
Buf_Size 0x2000    Time: 2078 ms
Buf_Size 0x4000    Time: 1875 ms
Buf_Size 0x8000    Time: 1875 ms
Buf_Size 0x10000   Time: 1828 ms
Buf_Size 0x20000   Time: 1781 ms
Buf_Size 0x40000   Time: 1859 ms
Buf_Size 0x80000   Time: 2500 ms
Buf_Size 0x100000  Time: 2516 ms
Buf_Size 0x200000  Time: 2516 ms
Buf_Size 0x400000  Time: 2781 ms
Buf_Size 0x800000  Time: 3000 ms
Buf_Size 0x1000000  Time: 3094 ms
Buf_Size 0x2000000  Time: 3062 ms
Buf_Size 0x4000000  Time: 3000 ms
Buf_Size 0x8000000  Time: 2969 ms