The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Опубликован набор патчей, ускоряющих сборку ядра Linux на 50..."
Отправлено Аноним, 06-Янв-22 02:19 
> ...Да и на "безопасных" языках что-то не спешат пилить альтернативы ...

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

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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