|
|
|
Как правильно "прибить" копирующий поток?
|
|||
|---|---|---|---|
|
#18+
Barmaley57Пост то читал? Там написано, что быстрее первая. Так что причины такой радости не ясны... Любой, кто скажет, что в этом конкретном тесте у него первая ф-ция сработала быстрее, или врет (сразу по двум причинам), или не учитывает фоновой активности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 21:05:58 |
|
||
|
Как правильно "прибить" копирующий поток?
|
|||
|---|---|---|---|
|
#18+
Запасаюсь попкорном. В свое время небезызвестный оптимизатор шаманил с флагами CreateFile и размером буфера при копировании. "смысла в этих попытках столько же, сколько в тщательном измерении длины шага мерина, которого ведут на живодерню" (с) Виктор Конецкий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 21:41:38 |
|
||
|
Как правильно "прибить" копирующий поток?
|
|||
|---|---|---|---|
|
#18+
Если и "тестить", то 100+ раз скопировать файл попеременно 2-мя методами. Так это хоть статистически не бессмысленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 21:52:57 |
|
||
|
Как правильно "прибить" копирующий поток?
|
|||
|---|---|---|---|
|
#18+
rgreatЕсли и "тестить", то 100+ раз скопировать файл попеременно 2-мя методами. Так это хоть статистически не бессмысленно. А смысл вызывать функцию А которая в конечном итоге вызовет функцию Б ?))) По моему, от того что функцию Б вызвала функция А не станет быстрее работать.! Это маразм не понимающих людей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 22:04:11 |
|
||
|
Как правильно "прибить" копирующий поток?
|
|||
|---|---|---|---|
|
#18+
Няшик, Ну тут некоторые хотят странного. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 22:08:42 |
|
||
|
Как правильно "прибить" копирующий поток?
|
|||
|---|---|---|---|
|
#18+
НяшикДа какая разница - то ??? Он использует GetTickCount который живёт своей жизнью! У GetTickCount погрешность ~30 мс, этого (внезапно) за глаза хватает при измерении интервалов порядка 5 секунд, ваш Кэп. rgreatЧто в общем тоже понятно почему может быть. :) В данном случае речь идёт про копирование по сети. К тому же в любом случае, кэширование должно ускорять чтение/запись во *второй* раз, а не в первый, поэтому я специально CopyFileEx поставил на второе место (читай: в более выгодные условия). Если этот пример заставить копировать файл с диска на диск, то там вторая функция, за счёт кэширования, на порядок быстрее выполняется. НяшикНу если они будут мерить такими не точными способами, то у них вряд - ли получится точно замерить. Разницу между 3800мс и 4600мс на погрешности GetTickCount списать затруднительно. Фоновые процессы отсеиваются запуском теста ~10 раз (все 10 раз они в одни ворота играют?). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 22:10:34 |
|
||
|
Как правильно "прибить" копирующий поток?
|
|||
|---|---|---|---|
|
#18+
alekcvp, Кэширование НА ЗАПИСЬ может замедлять 2-е копирование. Причем значительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 22:17:44 |
|
||
|
Как правильно "прибить" копирующий поток?
|
|||
|---|---|---|---|
|
#18+
alekcvpУ GetTickCount погрешность ~30 мс Вообще, обычно, около 15, но при запущеной дельфе... 1 мсек. т.к. дельфя, а точнее VTV который она использует, выставляет timeBeginPeriod(1). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 22:40:50 |
|
||
|
Как правильно "прибить" копирующий поток?
|
|||
|---|---|---|---|
|
#18+
Ну раз речь заходит о тестировании скорости! Так что лучше использовать более качественные средства замера работы кода. Иначе какой толк замерять конус по окружности пластмассовой линейкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 22:49:56 |
|
||
|
Как правильно "прибить" копирующий поток?
|
|||
|---|---|---|---|
|
#18+
alekcvpВ данном случае речь идёт про копирование по сети. Это неоднозначные факторы. Во первых влияет - скорость передачи по сети (Отдача приём на двух приёмниках, и их загруженность) Так же, запись на диск и считывание. И представьте, вызывается в конце функция Б из А ... Т.е один и тот же код, в двух случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 22:53:04 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39471780&tid=2042151]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
201ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 473ms |

| 0 / 0 |
