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, фактически программа станет однопоточной. При том, что в ней останется работать управление потоками, которое жрет ресурс даже при одном потоке, она будет быстрее "пенсионерской" раза в два.
Продолжаем разгонять FizzBuzz