170 похожих чатов

Привет, а насколько ну чисто в теории могут быть программы

чисто на Си, а не на Си++ с constexpr меташаблонами и т.д быть менее производительны? Или это всё лечится препроцессором?

28 ответов

25 просмотров

Посмотри лекцию Владимирова, где он сравнивает скорость сортировки в С через qsort и в С++ через std::sort. Там С медленнее, вроде как, аж в 3 раза.

И там "вылечить" С программу нельзя ничем.

Могут быть медленнее, могут - быстрее

все зависит от компилятора - важен только ассемблерный код на выходе

'Егор-'Зорин Автор вопроса
Dmitriy [Отпуск]
Могут быть медленнее, могут - быстрее

Ну медленее чисто не представляю тк плюсы надмножество Си

'Егор 'Зорин
Ну медленее чисто не представляю тк плюсы надмноже...

какие-то общие слова - как это влияет на то что будет на выходе в бинаре ?

'Егор-'Зорин Автор вопроса
Андрей Баженов
какие-то общие слова - как это влияет на то что бу...

Ну вплане того что написано на Си, плюсовый компилятор сожрёт и примерно уже будет такой как Си, но конечно это не точно тк не шарю

'Егор 'Зорин
Ну вплане того что написано на Си, плюсовый компил...

Ну во-первых, не сожрет Во-вторых, речь об идиоматическом использовании языков. Писать на С++ в стиле Си — неидиоматично

Nobody
Это не совсем корректное сравнение

Вопрос был насколько С программа может быть менее производительной. В лекции задача отсортировать массив. Программа на Си делает это медленнее там. Конечно, можно на Си реализовать свой алгоритм сортировки без использования стандартной библиотеки и это обгонит С++. Тогда сравнение будет корректным?

d7d1cd
Вопрос был насколько С программа может быть менее ...

Надо сравнивать алгоритмы с одинаковой сложностью

'Егор-'Зорин Автор вопроса
d7d1cd
Вопрос был насколько С программа может быть менее ...

Почему сразу обгонит, если алгоритм будет один и тот же?

d7d1cd
Вопрос был насколько С программа может быть менее ...

да странная формулировка все равно - один и тот же код на x86_64 clang++ в linux freebsd и macos генерит вообще разное

d7d1cd
Вопрос был насколько С программа может быть менее ...

Вопрос был в том, насколько идиоматичное использование С++ позволяет компилятору лучше оптимизировать код

Nobody
Вопрос был в том, насколько идиоматичное использов...

Ровно настолько, насколько много вычислений ты переводишь в компайл-тайм

'Егор-'Зорин Автор вопроса
Андрей Баженов
да странная формулировка все равно - один и тот же...

А если в рамках одной платформы и одного компилятора?:

Nobody
clang++ в macos другой)

мне можешь это не говорить он и на бсд другой) суть в том стандарт 1 - 3 машины 3 оси выхлоп разный очень

'Егор-'Зорин Автор вопроса
Aleksander Spichak
Ровно настолько, насколько много вычислений ты пер...

Ну как я говорил, лечится препроцессором в Си)

Да и например шаблоны в общем случае лучше, чем передача условного void*

'Егор-'Зорин Автор вопроса
Aleksander Spichak
Да и например шаблоны в общем случае лучше, чем пе...

_Generics) Ну а вообще хочется просто спрятаться от этого страшного меташаблон кода в ютненьком Си)

'Егор 'Зорин
_Generics) Ну а вообще хочется просто спрятаться о...

Си никогда не был уютненьким и никогда не будет

'Егор-'Зорин Автор вопроса
Nobody
Си никогда не был уютненьким и никогда не будет

Ну с одной стороны C++ облегчает жизнь своим подходом, средствами, но с другой стороны увеличивает количество шансов прострелить себя и много новых техник. А в Си всё просто пару основных типов, нормальная библиотека для поддержки, если что-то разрабатывать, то всегда есть либы от других людей которые могут доставить такой же функционал как в плюсах и тд)

Всё лечится, разными средствами, проблема - в цене лечения.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта