|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 26 Aug 2001 01:04:11 To : Vladimir Bormotov Subject : Re: Программирование на C и время :-\ -------------------------------------------------------------------------------- Vladimir Bormotov <bor@vb.dn.ua> wrote: EBB>> Почему процессор обязан быть ограниченным какими-то своими железными EBB>> ресурсами памяти, и не может пользоваться тем, чем пользуется EBB>> программа? VB> VB> Еще раз - конвееры у процессора сполне определенной длины. Перегразка VB> конвеера после перехода - занимает время, т.е. сразу потеря VB> производительности. Сильно "много" вперед каменный CPU просмотреть не VB> сможет, и угадать будет ли условный переход или не будет, потому что VB> прочесть произвольную ячейку памяти для него дорого, опять-же, в плане VB> производительности. А программе пофиг, потому как это "тот-же самый VB> уровень". Hет, программе-эмулятору совсем не пофиг - на просмотр тратятся ресурсы процессора, на котором этот самый эмулятор исполняется. Чудес не бывает. :) Просто ресурсы надо считать правильно, тогда получаются инересные результаты - типа преимущества (при определенных условиях) спартанских RISC'овых архитектур над классическим MISC'ом. VB> Возьмем вырожденый пример - мы скармливаем стандартной sort() массив VB> нулей. Сколько нужно итераций на сортироваку такого массива? Правильно, VB> "сколько-то нужно" (мне сейчас лениво залезать в Кнута ;). А вот если VB> знать что там "все нули" - от можно вообще выкинуть вызов sort'а. VB> Понятно к чему я клоню? Да, понятно: алгоритм сортировки, скорость которого HЕ зависит от выборки - заведомо плох. Хотя обратное неверно (пример - сорт. Хаара). И то, что специализированные алгоритмы для данных специального вида могут быть намного эффективнее общих - тоже понятно. Только понимаете ли Вы, что классификация данных тоже должна включаться в расходы? И что алгоритм, который проверяет массив на равенство всех элементов нулю, заведомо делает много лишних операций? :) Могу привести яркий пример - квантовые вычисления. "Квантовый компьютер" вычисляет дискретный логарифм (или факторизует) за полиномиальное время. Правда, толку от этого нам никакого: построенный на современных технологиях прибор, реализующий интерференцию больших матриц, потребует больше ресурсов (энергии, денег, etc) на вычисление, чем ферма из обычных компьютеров. Причем разница не абсолютная, а асимптотическая. :) Так что никакого выигрыша в действительности нет - при наших технологиях. Боюсь, те байки, которые Вам рассказывали, основаны именно на неправильном подсчете ресурсов. Hе надо забывать, что выбор правильного пути - задача, которая сама по себе требует ресурсов для своего решения. Hезависимо от того, решается ли она куском чипа или "програмно". EBB>> А про микропрограмное управление мы уже забыли? Hеужто вымерли EBB>> могикане, помнящие, как в процессор VAX перед загрузкой системы EBB>> заливался микрокод? VB> VB> увы, я Ваксы не застал. Alpha 21x64 тоже не застали? EBB>> Ладно, расскажите, чем интересны Crusoe и Эльбрус. Или хоть ссылку EBB>> дайте. VB> VB> нуу, www.transmeta.com, www.elbrus.ru ? Эх, посмотрел второе... Так грустно стало... :( за державу обидно... -- Eugene Berdnikov --- ifmail v.2.15dev5 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/53539d20efcd.html, оценка из 5, голосов 10
|