-
вот скажи мне, как вот эта строчка
hJobDone = CreateEvent(0,0,0,0);
на твоем компе может выполняться 100мс (0.1 секунды)?
Такой вот вопрос мне задал разработчик программы на мою жалобу о неустойчивости работы утилиты.
Кто-нибудь сталкивался с таким? В чем может быть причина?
-
Гнать в шею таких разработчиков)
Какое мне, заказчику, дело сколько времени выполняется что-то там в твоей, любезный разработчик, программе ? Ты ее писал - ты и разбирайся в тормозах.. Либо соизволь дать подробные и вменяемые требования и рекомендации по устранению тормозов и прочей непотребщины)
-
Сергей М., а ты вот поставь себя на место разработчика:
всё работает у (ориентировочно) 90% юзеров без проблем.
а вот у некоторых наступает подобное, причем в разных местах, как мне кажется
Автор (12:45:33 24/03/2012)
во блин, щас дальше по логу нашел вообще убийственное...
в методе, где идет инициализация переменных записи (просто несколько перемещений в памяти) задержка согласно timeGetTime составляет 500мс. Полсекунды на несколько присваиваний! как так то???
Автор(12:45:33 24/03/2012)
лог у меня тупо сделан :)
Автор(12:46:15 24/03/2012)
из-за этого могут быть проблемы с порядком записи, несомненно. пишется сразу в открытый на append файл, после чего он сразу закрывается
Автор(12:46:47 24/03/2012)
но в данном случае это пофиг (когда инициализация идет)
Автор(12:48:09 24/03/2012)
насчет 500мс - запись ведется в память, полученной из MapViewOfFile. Ну то есть, шареная память
Автор(12:48:26 24/03/2012)
винда ее в своп на дискетку чтоли выбросила? :D
-
ну так вот это самое логирование у него и тормозит, скорее всего.
-
полсекунды на открытие файла размером в десяток килобайт?
Реально такое бывает?
-
> полсекунды на открытие файла размером в десяток килобайт?
может и по несколько минут открывать; на некоторых зелёных WD-шках, например.
дома такой винт подключен, не нарадуюсь, ага.
-
> поставь себя на место разработчика
Ставлю: если даже у 0.00000001 % юзеров наблюдаются проблемы с заявленной мною работоспособностью моей программы - это мои проблемы)
Вообще да, по описанию это похоже на свопинг.
-
> Вообще да, по описанию это похоже на свопинг.
больше на фрагментацию ФС.
-
> [5] RWolf © (09.07.12 11:32)
> на некоторых зелёных WD-шках
Они что, совсем останавливают диски? Да деже если и так, несколько минут многовато будет.
-
> совсем останавливают диски
почему нет?
> несколько минут многовато будет
согласен, шибко много!
-
Хммм, у меня как раз WD Green...
а в NTFS, утверждают, нет фрагментации.
-
> [10] Cobalt © (09.07.12 12:15)
> а в NTFS, утверждают, нет фрагментации.
Есть
-
Писать лог в память и сбрасывать на диск раз в минуту и/или по достижении большого размера (чтобы уже память не свопилась, за минуту можно много собрать). Сбрасывать лог в отдельном потоке!
-
> Inovet © (09.07.12 11:59) [8]
баг контроллера — скорость чтения/записи периодически падает до нуля на какое-то время.
в новых версиях починили.
-
> а в NTFS, утверждают, нет фрагментации
Во времена четвёртой нт утверждали. С тех пор прошло несколько лет и версий... %-)
-
> RWolf © (09.07.12 11:34) [7]
> больше на фрагментацию ФС.
Какое отношение к фрагментации и к свопингу имеет CreateEvent и инициализация структуры ?)
-
Сергей М. © (09.07.12 15:07) [15]
> Какое отношение к фрагментации и к свопингу имеет CreateEvent и инициализация структуры ?)
никакого — речь идёт о том, что тормоза могут возникать при добавлении строки в лог.
-
> RWolf © (09.07.12 16:25) [16]
>
> Сергей М. © (09.07.12 15:07) [15]
> никакого — речь идёт о том, что тормоза могут возникать
> при добавлении строки в лог.
"автор" (разработчик якобы) жужжит про тормоза именно при инициализации какой-то там хрени в вирт.памяти приложения)
Цитата из [2]:
в методе, где идет инициализация переменных записи (просто несколько перемещений в памяти) задержка согласно timeGetTime составляет 500мс
p.s.
За сраный доморощеный жаргон в сношениях с "заказчиком" (во блин, тупо, пофиг ) я таких "разработчиков" сразу гоню в шею, чего и всем желаю)