The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск PortableGL 0.98, реализации OpenGL 3 на языке Си , opennews (??), 07-Май-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


92. "Выпуск PortableGL 0.98, реализации OpenGL 3 на языке Си "  +1 +/
Сообщение от Bottle (?), 07-Май-24, 18:25 
Ты глупец и толстый тролль. Constexp и consteval позволяют провести повторяющиеся вычисления на этапе компиляции. Например, можно посчитать значения периодической функции на одном промежутке (скажем, синуса), засунуть их в массив и интерполировать между значениями при разных аргументах.
Чтобы реализовать подобное на Си придётся попотеть знатно.
Ответить | Правка | Наверх | Cообщить модератору

104. "Выпуск PortableGL 0.98, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (82), 07-Май-24, 19:46 
> Чтобы реализовать подобное на Си придётся попотеть знатно.

Дёрнуть из Makefile внешний скрипт при компиляции, делов-то.

Деды такое на AWK и шеллскрипте делали, сейчас в моде python или что там ещё…

Опять же, это скорее про «удобство» и «сахар», чем «по своей природе генерит более производительный код в большинстве случаев».

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

108. "Выпуск PortableGL 0.98, реализации OpenGL 3 на языке Си "  –1 +/
Сообщение от Аноним (7), 07-Май-24, 20:04 
> Например, можно посчитать значения периодической функции на одном промежутке (скажем, синуса)

Эталонное ненужно, тащить в бинарь таблицу того, что можно посчитать в райниайме. Она с ssd считываться будет дольше, чем рассчитываться при старте программы. Consteval кривой велосипед, компилятор мог бы сам определять (и определяет) что можно рассчитать на этапе конпеляции. Классы приводят к кривой архитектуре, которую постоянно надо рефакторить. Шаблоны вещь в принципе неплохая в теории, на практике редко нужная и раздувающая время компиляции в сотни раз по сравнению с чистым си.

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

117. "Выпуск PortableGL 0.98, реализации OpenGL 3 на языке Си "  +1 +/
Сообщение от Bottle (?), 07-Май-24, 21:38 
Ты серьёзно? Кучу значений рассчитать в рантайме, чтобы сжечь гигаватты энергии на тысячах компьютеров из-за одинаковых действий, усилить зависимость от аппаратной неточности конкретного процессора, просто чтобы не хранить пару килобайтов данных на диске?
>Классы приводят к кривой архитектуре, которую постоянно надо рефакторить

Не спорю, но структуры ещё хуже.
>Шаблоны вещь в принципе неплохая в теории, на практике редко нужная и раздувающая время компиляции в сотни раз по сравнению с чистым си.

На практике время компиляции раздувают хедеры вместо модулей. История с патчами для ядра Linux даёт о себе знать. Плюсовики хоть пытаются это исправить, внедряя систему модулей. А что сишники делают? Ни-че-го.
  

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

168. "Выпуск PortableGL 0.98, реализации OpenGL 3 на языке Си "  +/
Сообщение от n00by (ok), 08-Май-24, 11:49 
> Ты серьёзно? Кучу значений рассчитать в рантайме, чтобы сжечь гигаватты энергии на
> тысячах компьютеров из-за одинаковых действий, усилить зависимость от аппаратной неточности
> конкретного процессора, просто чтобы не хранить пару килобайтов данных на диске?

Какие гигаватты? Ладно бы, про грязные страницы - это бы был аргумент. Но про них ведь знать надо?

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

169. "Выпуск PortableGL 0.98, реализации OpenGL 3 на языке Си "  +/
Сообщение от Аноним (169), 08-Май-24, 11:52 
> На практике время компиляции раздувают хедеры вместо модулей

Да ладно, если условный std::map включить импортом вместо хидера, с чего вдруг что-то должно измениться во времени компиляции? Да и сколько времени их рожали, сколько времени ушло на поддержку в компиляторах. Экосистема лоускилов. Сишку конечно тоже что-то никто особо не рвется развивать, это прискорбно.

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

129. "Выпуск PortableGL 0.98, реализации OpenGL 3 на языке Си "  +/
Сообщение от Ivan_83 (ok), 07-Май-24, 22:20 
Чувак, нет, не придётся.

Предвычесленные массивы иногда пихают в код.
Когда лень это делать то на этапе инициализации их считают и складывают в динамическую память, этому трюку лет больше чем крестам.

То что из этого сделали синтаксический сахар - ну ок, в моей практике предвычесленные значения встречаются не часто и в местах где скорость критична используют описанные выше техники.

Из того что я помню это было в crc функциях, и крипто хэши некоторые (гостовский точно).
Обычно более актуальны кеши для того что вычисляется в рантайме и что трудно или не возможно посчитать при компеляции.

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

183. "Выпуск PortableGL 0.98, реализации OpenGL 3 на языке Си "  +/
Сообщение от Ivan7 (ok), 08-Май-24, 18:20 
Для фанатов ручной работы и велосипедостроения чистый Си - это прямо самое то, самый смак)))
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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