Pull to refresh

Comments 5

 стадо (стаю? косяк?) зайцев

Выводок

такой код вряд ли пройдет ревью

Вы или крест...^W

Тег "ненормальное программирование" исходно не предполагает код-ревью)

А продолжения дискуссии буду ждать

Вот постепенно задача дошла до предпоследнего шага, за которым остается просто предзаполненный массив на 30 итераций физбаза (хоть и сгенерированный алгоритмом), который копируется до нужного количества в буфер вывода.

Вообще смешно было наблюдать как задача с решением общего вида, в котором достаточно было поменять какой-то параметр и она бы продолжила решать аналогичную задачу, превратилась в нечто, что не может решить больше никакую другую задачу, даже похожую, без почти полного переписывания.

Несерьезно и незачет.

"Не плодите сущности без необходимости"

вот результат сеньора! time ./multithreaded2 > /dev/null

real	0m1,141s
user	0m4,122s
sys	0m0,099s

Казалось бы 1.141 это мощща!!

Но вот результат пенсионера в один поток time ./my_1 > /dev/null

real	0m4,171s
user	0m3,659s
sys	0m0,508s

И алгоритмически сеньоры пока идут мимо. Т.к. "user 0m3,659s" всё как бы меньше user "0m4,122s"

на машине

model name : Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz (это вот тут нет интринсиков)

P.S. придется прочитать про потоки и заделать как бы уже всерьёз ))

Т.к. "user 0m3,659s" всё как бы меньше user "0m4,122s"

Это сравнение не имеет смысла, поскольку естественно программа тратит какое-то время в user space на управление потоками. Сравнивать надо общее время.

Эксперимента ради поменяйте THREAD_COUNT на 1, фактически программа станет однопоточной. При том, что в ней останется работать управление потоками, которое жрет ресурс даже при одном потоке, она будет быстрее "пенсионерской" раза в два.

Sign up to leave a comment.

Articles