On Fri, Oct 01, 2010 at 10:39:37AM +0300, Pavel Gulchouck wrote:
On Fri, Oct 01, 2010 at 09:41:30AM +0300, Paul Arakelyan writes: PA> А низзя разбить операцию нехерового пересчёта на последовательность PA> меньших операций фиксированной длины (может даже настраиваемой), с PA> обработкой всякой мутотени в промежутках, а то и halt/sleep/etc (с целью PA> уменьшить тепловыделение - иногда может не лишним оказаться... Ваще оно PA> как начнёт впендюривать маршруты - то тоже нефигово нагружает проц...)?"
Эту функцию разумно реализовывать не самостоятельно, а поручить планировщику задач. То есть, пересчитывать fullview и отвечать на keepalive в разных threads. Хотя можно, конечно, и как singlethread сделать (на манер innd и squid), но это уже just for fun. :-) Да, вот только "втулить" потоки в однопоточное приложение = переписать почти с нуля, как я понял (поглядев на эту тему и свой приложение).
А если процессор, которому есть чем заняться, решил вместо этого отдохнуть и остыть, это странный планировщик задач. Зачем я покупал проц 4 GHz, если вижу скорость 2GHz, а остальное время он занимается уменьшением тепловыделения? ;-) Дык иногда "других нет"/"зимой - разгоняем до 5! летом - тормозим до 2х" :), короче - доступность комплектующих и условия применения.
Я вот ищу безуспешно чем тормознуть шину у Lenovo Ideapad U150 (Celeron 1.2GHz dual-core ULV) - должно бы дать ещё часа 3-4 автоновной работы (8-9 с SSD под Win7 есть), а если б ещё напряжения уменьшались - то так и до 16ч дотянуть можно. -- Best regards, Paul Arakelyan.