The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Опубликован набор патчей, ускоряющих сборку ядра Linux на 50-80%"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Опубликован набор патчей, ускоряющих сборку ядра Linux на 50..." +/
Сообщение от Аноним (381), 06-Янв-22, 02:19 
> ...Да и на "безопасных" языках что-то не спешат пилить альтернативы ...

Тут все не так просто и с Си, и с "безопасными" языками... Ведь процессор ну абсолютно ничего не знает о массивах, строках, буферах и других структурах (в том числе и указателях), которыми оперируют языки высокого уровня. у процессора есть адреса ячеек памяти в регистрах - это все, что он может и "понимает". Да, на Си можно написать код, который будет вести себя подобно "безопасным" языкам, но, как и в этих "безопасных" языках это будет не "бесплатно" - требует определенного процессорного времени на проверки выхода за пределы высокоуровневых структур данных. Магии НЕ СУЩЕСТВУЕТ в нашем мире! "Безопасные" языки используют точно такие же низкоуровневые команды процессора, что и Си, и даже Асм, которые работают с адресами ячеек памяти или с регистрами (но в них данные нужно загрузить из тех же ячеек памяти с их адресами или выгрузить в нужные ячейки памяти по адресам) - других команд у процессора просто нету. Просто на каждый чих эти языки тем или другим способом автоматически добавляют пачку проверок в runtime - ведь на этапе компиляции не все адреса извесны. Никто не запрещает аналогично поступать на Си и на Асме. НО! При этом растет "служебная" нагрузка на процессор (на проверки всех границ и условий) - программа работает медленнее. Да, я знаю, что мне сейчас тут набросают примеров программ на Си и на $SAFE_LANG, когда на Си медленнее - но тут необходимо детально разбирать алгоритмы и код. При использовании одинаковых алгоритмов и оптимального их кодирования на Си будет быстрее - за счет отсутствия принудительных проверок на каждый чих. А обратный результат вероятнее всего говорит либо о разных алгоритмах (для программы на Си менее оптимизированный) либо о неоптимальном кодировании алгоритма на Си. Да, я знаю про Паскаль, Модулу и Оберон - но там та же петрушка, иначе это никак реализовать на современных архитектурах процессоров невозможно. Даже Java-процессоры не оперируют высокоуровневыми структурами данных.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Опубликован набор патчей, ускоряющих сборку ядра Linux на 50-80%, opennews, 03-Янв-22, 11:12  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру