Вход на сайт
Операционка - однопоточность и многопоточность
640 просмотров
Перейти к просмотру всей ветки
в ответ megabyte 19.11.09 06:37
два примера, когда многопоточность не увеличивает производительность программы по сравнению с однопоточностью.
-----
так же как "кисло" и "мягко".
-----
Смотри первую из хохм.
Утверждение же преподавателя можно, формально, перефразировать так: Программа с урезанной функциональностью имеет более высокую производительность в части не исключенной из программы. Что вполне корректно.
Однако в контексте же перефразированного ответа преподавателя вполне уместно задать вопрос об том, как правильно рассчитать суммарную производительность, включая производительность исключенной части, системы? Данный вопрос так же корректен, но меняет оценку певоначального утверждения на противоположную, т.к. исключенная часть имеет оценку времни выполнения как бесконечность.
Так что оценка (или сравнение) производительности имеет смысл только при полностью эквивалентной функциональности. В свете примера, данного преподавателем, основной и единственный поток должен осуществлять поминутный вывод на экран и рассчет - тогда можно корректно оценить насколько дополнительный поток "НЕ УВЕЛИЧИВАЕТ" производительность программы.
Думаю, что он умрет (в смысле производительности) на поолинге таймера. По крайней мере у меня, при необходимости обеспечить точность не хуже -5/+10 тиков, поолинг таймера в однопоточной системе легко "съедал" до 20% выч.ресурса... а выполняся по нему именно вывод на экран.
-----
так же как "кисло" и "мягко".
-----
Смотри первую из хохм.
Утверждение же преподавателя можно, формально, перефразировать так: Программа с урезанной функциональностью имеет более высокую производительность в части не исключенной из программы. Что вполне корректно.
Однако в контексте же перефразированного ответа преподавателя вполне уместно задать вопрос об том, как правильно рассчитать суммарную производительность, включая производительность исключенной части, системы? Данный вопрос так же корректен, но меняет оценку певоначального утверждения на противоположную, т.к. исключенная часть имеет оценку времни выполнения как бесконечность.
Так что оценка (или сравнение) производительности имеет смысл только при полностью эквивалентной функциональности. В свете примера, данного преподавателем, основной и единственный поток должен осуществлять поминутный вывод на экран и рассчет - тогда можно корректно оценить насколько дополнительный поток "НЕ УВЕЛИЧИВАЕТ" производительность программы.
Думаю, что он умрет (в смысле производительности) на поолинге таймера. По крайней мере у меня, при необходимости обеспечить точность не хуже -5/+10 тиков, поолинг таймера в однопоточной системе легко "съедал" до 20% выч.ресурса... а выполняся по нему именно вывод на экран.