LINUX.ORG.RU

Реализация FastCGI на современном C++

 , ,


1

3

Доступна новая реализация протокола FastCGI, написанная на современном C++17. Библиотека примечательна простотой в использовании и высокой производительностью. Возможно подключение как в виде статически и динамически связанной библиотеки, так и через встраивание в приложение в форме заголовочного файла. Кроме Unix-подобных систем обеспечена поддержка использования в Windows. Код поставляется под свободной лицензией zlib.

>>> Источник

anonymous

Проверено: Shaman007 ()

Ответ на: комментарий от delightfish

Насколько я помню - это что-то из детского садика?

Это из языков с нормальной системой типов.

детки в садике любят придумывать всякие новые слова

Слышал, что посредственности стараются не замечать все, что находится вне зоны их понимания.

Ну что ж, бывает.

nihirash ★★★ ()
Ответ на: комментарий от delightfish

Пока царь в треде, поинтересуюсь: почему на чем я не пробую -flto -fwhole-program либо не дают прироста производительности, либо наоборот дают замедление?

anonymous ()
Ответ на: комментарий от nihirash

Это из языков с нормальной системой типов.

А что это за языки такие? Почему о них известно только в детском садике? Почему мир не знает великих плодов этих «языков»?

Слышал, что посредственности стараются не замечать все, что находится вне зоны их понимания.

Да, я тоже подобное слышал. Запартные посредственности пытаются придумывать критерии что-бы создать видимость нужности ненужности. Но проблема в том, что реальный мир(мир серьёзных дядей) клал на все эти критерии. Как и клал на тех, кто занимается бесполезной игрой в детском садике. Да, дяди кормят деток с руки. Любят смотреть на их представления и клоунаду. Но дядя всегда дядя, а ребёнок всегда ребёнок.

delightfish ()
Ответ на: комментарий от eao197

В этом и был поинт: если делать хорошо, то это не будет просто. И сделать хорошо, обычно, не быстро.

Согласен, это также как если нормально делать на любом другом ЯП/фрэймворке.

Лисапеды, подобные обсуждаемому в данной теме, нужны в первую очередь не Гуглю с Яндексом.

Мой поинт в нашей с Вами беседе в том, что плюсы достаточно хорошо подходят для написания облачных REST (и не только) приложений, что и показывает стэк технологий у крутанов. Поделие из новости тут не при чём. :)

illy ()
Ответ на: комментарий от anonymous

Пока царь в треде, поинтересуюсь: почему на чем я не пробую -flto -fwhole-program либо не дают прироста производительности, либо наоборот дают замедление?

Ну это взаимоисключающие параграфы. А так, я не знаю что ты там тестировал. Может ты просто неправильно замерял. Приведи пример.

delightfish ()
Ответ на: комментарий от delightfish

Нет.

Ну хорошо, он компилируется в LLVM IR, который может дальше компилироваться под любую поддерживаемую архитектуру. Да, да, C/С++ тоже компилируется в LLVM IR (При помощи фронтенда - Clang), и лишь затем под любую поддерживаемую архитектуру. Т.к. выбери одно из двух: либо Rust компилируется в нативный, либо C/C++ не компилируется в нативный код (Что есть глупость).

Дёргать может любой пхп. А дёргать пхп нет смысла. Он сливает нативному коду.

Мы не про смысл, а про возможность. В любом случае, Rust и PHP по производительности не близки.

Не делает. С/С++ дёргают не потому что они дёргают. А потому что их есть смысл дёргать. А остальное не дёргают не потому, что нельзя, а потому что нет смысла. Дёргать можно. Ту же juajit/js/пхп - что угодно.

А твоему «не имеет смысла» будут какие-то пруфы, или «мамай кланус, Rust мэдлэннээ цы плус плус!»? Пусть я пишу код на пайтоне, он очень медленный, и решаю вынести какую-то узкую часть в нативщину - какие причины взять именно C/C++, а не раст, который на порядки быстрее пайтона и по производительности 3-ий после C/C++? И, пожалуйста, не надо юлить про экосистему. То что она у C/C++ больше и так всем ясно.

dear_amomynous_v2_1 ()
Ответ на: комментарий от illy

Согласен, это также как если нормально делать на любом другом ЯП/фрэймворке.

Есть менение, что на безопасном языке с GC это сделать несколько проще, чем на C++.

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

Мое мнение состоит в том, что делать REST или вообще Web на C++ имеет смысл в следующих случаях:

  • Web-интерфейс нужно дать совсем дохлому устройству (это, насколько я понимаю, вотчина тулкита Wt);
  • Web- или REST-интерфейс нужно приделать с уже существующему и давно работающему коду на C++ (такое встречается когда старые системы переводят на рельсы микросервисности);
  • при обработке запросов нужно задействовать «тяжелые» вычисления. В этом случае все равно придется упороться C++сом, и делать в таких условиях прием запросов на каком-нибудь node.js с актуальной обработкой их на C++ – это только множить сущности и усложнять проект;
  • при нагрузках как в Google, Facebook, Amazon, Yandex.

Ну вот последний пункт для подавляющей части аудитории LOR-а вряд ли актуален.

eao197 ★★★★★ ()
Ответ на: комментарий от dear_amomynous_v2_1

Ну хорошо, он компилируется в LLVM IR, который может дальше компилироваться под любую поддерживаемую архитектуру.

Нет, никуда он не компилируется.

Т.к. выбери одно из двух: либо Rust компилируется в нативный, либо C/C++ не компилируется в нативный код (Что есть глупость).

Ещё раз. Ты всё перепутал. С/С++ являются нативными не потому, что они куда-то там компилируются. Компилируется что угодно. А потому что они могут сами по себе существовать в рамках какой-либо платформы. Они и есть эта платформа.

Раст же - это просто какое-то пхп. Оно работает как пхп, компилируется С/С++-рантаймом, выполняется и зависит от С/С++-рантайма. Живёт в рамках С/С++-платофрмы.

Мы не про смысл, а про возможность. В любом случае, Rust и PHP по производительности не близки.

Дак возможности уровня пхп. По производительности они не в одном классе с С/С++. Они в классе там juajit, может где-то и могут победить пистон.

А твоему «не имеет смысла» будут какие-то пруфы

Пруфы даны. Хотя это ты должен давать пруфы, что твоё пхп является состоятельным и его имеет смысл вызвать. Причём это не должна быть какая-то ангажированная херня.

или «мамай кланус, Rust мэдлэннээ цы плус плус!»?

Ну дак везде и всюду он медленный. Куда я не приходил - это пхп сливалось мною левой пяткой.

Пусть я пишу код на пайтоне, он очень медленный, и решаю вынести какую-то узкую часть в нативщину - какие причины взять именно C/C++

Тем, что раст не имеет никакого отношения к нативщине. Тем, что он сливает и попросту не имеет смысла. в том, что те, кто пишут на нём - в сотни раз слабее тех, кто пишет на С/С++?

а не раст, который на порядки быстрее пайтона

Быстрее он его может быть потому, что использует С/С++-зависимости. Если мы сравним раст без С/С++-зависимостей - он сольёт пистону.

и по производительности 3-ий после C/C++?

Нету третьего. Третье место находится совершенно в другом порядке.

И, пожалуйста, не надо юлить про экосистему. То что она у C/C++ больше и так всем ясно.

В неё даже ненужно юлить. Хотя - это является определяющим. Ты либо заменяешь экосистему, либо ты не системный. Другого не дано.

delightfish ()
Ответ на: комментарий от delightfish

Врёшь. У тебя там изначально это было. ТЫ использовал строковые литералы. Потом ты решил вынести их. Потом я тебе об этом сообщил. И ты опять вернул литералы.

Зачем мне врать? Я не знаю кому и что ты там сообщал. Ты сослался на некий коммит в репе, в котором ifdef с пачкой литералов заменены на манипулятор потока. Все.

Не пытайся меня обмануть.

Какое самомнение, посмотри-ка. Да больно надо.

anonymous ()
Ответ на: комментарий от delightfish

Ещё раз. Ты всё перепутал. С/С++ являются нативными не потому, что они куда-то там компилируются. Компилируется что угодно. А потому что они могут сами по себе существовать в рамках какой-либо платформы. Они и есть эта платформа.

Это не говорит ни о чём, кроме того что они появились раньше.

Раст же - это просто какое-то пхп. Оно работает как пхп, компилируется С/С++-рантаймом, выполняется и зависит от С/С++-рантайма. Живёт в рамках С/С++-платофрмы.

Он не работает как PHP. Он может быть скомпилировано без рантайма и, как следствие, - без него же выполняться. И даже тот факт что std раста (Но не core) зависит от libc не говорит о том, что её подобие на нём не написать, лишь о том что никому нафиг это не нужно - ведь есть уже готовый код.

Дак возможности уровня пхп. По производительности они не в одном классе с С/С++. Они в классе там juajit, может где-то и могут победить пистон.

Дружище, это на столько жирно и глупо, что я даже не могу на тебя злиться. В половине тестов Rust опережает C, в другой половине - разница почти всегда ничтожна. Хотя ресурс этот не особо авторитетный и код там с unsafe, что не комельфо.

Пруфы даны. Хотя это ты должен давать пруфы, что твоё пхп является состоятельным и его имеет смысл вызвать. Причём это не должна быть какая-то ангажированная херня.

Дичь пруфами не является.

Ну дак везде и всюду он медленный. Куда я не приходил - это пхп сливалось мною левой пяткой.

«мамай кланус», я понял, чисел не будет.

Тем, что раст не имеет никакого отношения к нативщине. Тем, что он сливает и попросту не имеет смысла. в том, что те, кто пишут на нём - в сотни раз слабее тех, кто пишет на С/С++?

Опять глупости. Уныло. Ни чисел, ни кода. А и ты со своим мнением - вовсе не авторитет.

Быстрее он его может быть потому, что использует С/С++-зависимости. Если мы сравним раст без С/С++-зависимостей - он сольёт пистону.

Слишком жирно, попробуй тоньше.

Нету третьего. Третье место находится совершенно в другом порядке.

У тебя ещё и с математикой плохо, раз ты не знаешь что такое порядок.

В неё даже ненужно юлить. Хотя - это является определяющим. Ты либо заменяешь экосистему, либо ты не системный. Другого не дано.

Ты пытаешься вывезти хоть на чём то? Речь же шла про производительность, а не про (не-)системность.

В прочем, я понял что ты просто клоун, покекаю с тебя в РО, спасибо, продолжай нас радовать, эксперт уровня «дока 2».

dear_amomynous_v2_1 ()
Ответ на: комментарий от delightfish

С/С++ являются нативными не потому, что они куда-то там компилируются.. А потому что они могут сами по себе существовать в рамках какой-либо платформы

Ой вэй. А чего тогда каждая вторая програмулина на венде не запускается пока я не установлю какой-то Visual C++ Redistributable, а то и не один?

spoonbob ()
Ответ на: комментарий от nihirash

В плюсы завезли типы высшего порядка? Кон- и контр- вариативность типов?

Линейные и зависимые типы?

Гомотопические типы?

C++ - чисто утилитарный прагматичный язык. В нем гомо и гетеротопичностью не занимаются.

Родные типы C++ пришли из C и напрямую связаны с железом, чтобы быть эффективными. Однако в C++ сделали возможность создавать пользовательские типы, да так, чтобы не потерять в эффективности. В C++ всем наплевать на кон-контра-вариативность, если от нее нет практической пользы.

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

P.S. Проблема современного образования в том, что из ВУЗов выходят люди, знающие много умных слов, но не понимающие куда их использовать.

anonymous ()
Ответ на: комментарий от nihirash

Это из языков с нормальной системой типов.

И где эти языки?

Слышал, что посредственности стараются не замечать все, что находится вне зоны их понимания.

Нет никакой сложности в том, чтобы освоить что-то новое, но без практической пользы - это задротство. Но ты можешь продолжать считать себя самым умным в окружении посредственностей.

anonymous ()
Ответ на: комментарий от anonymous

Все эти «умные слова» эффективности и практичности не противоречат.

В C++ всем наплевать на кон-контра-вариативность

4.2, в крестах используется ковариантность. Проблема не в современном образовании, а в твоем.

anonymous ()
Ответ на: комментарий от spoonbob

Чтобы написать ывысокопроизводительный rest-сервер и не сойти с ума, нужен синтаксис async/await. В руст он будет к концу года. В плюсах не будет

Ты с какой планеты? Stackless корутины в C++ появились экспериментально несколько лет назад в MSVC и clang, а теперь вошли в стандарт C++20. StackFull корутины на основе boost::context уже много лет активно используются (в яндексе их внедрил Григорий Демченко со своей осинкой, про которую писал на хабре очень давно).

anonymous ()

Когда-то писал веб приложение на чистом C++ для развития навыков. Думал, как его стыковать с nginx по FastCGI, SCGI или еще как-то. Но довольно быстро понял, что нет разницы как парсить запрос/ответ (FastCGI, SCGI, HTTP) разница минимальна (а многоструйность FastCGI вообще никто не использует), поэтому решил, что кроме HTTP ничего не нужно.

FastCGI - legacy, не более.

anonymous ()
Ответ на: комментарий от anonymous

в яндексе их внедрил Григорий Демченко со своей осинкой, про которую писал на хабре очень давно.

Не внедрил. По его же словам synca не использовалась нигде, кроме его собственных экспериментов. Да и не развивается она уже несколько лет. Сам Демченко в Яндексе, кстати говоря, уже не работает.

eao197 ★★★★★ ()
Ответ на: комментарий от anonymous

Когда-то писал веб приложение на чистом C++ для развития навыков. Думал, как его стыковать с nginx по FastCGI, SCGI или еще как-то.

Видно было это давно. Теперь то и думать не надо, благо есть куча либ на C++ для веба. Берешь хоть HTTP, хоть FastCGI готовое и вперед. Круто же! Некоторые спросят в чем крутизна? А вот посмотрите на количество потребляемых ресурсов при нагрузке на ту же node.js или при нагрузке на плюсовое приложение HTTP/FastCGI. Тогда и увидите разницу!

anonymous ()
Ответ на: комментарий от delightfish

Нет.

Это ложь. https://stackoverflow.com/questions/43385142/how-is-rust-compiled-to-machine-...

А дёргать пхп нет смысла. Он сливает нативному коду.

И это ложь. https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/rust.html

А остальное не дёргают не потому, что нельзя, а потому что нет смысла

Ещё одна ложь. https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-engine-quantum-css-...

Итого: из 3 тезисов 3 вызывающе неверны. Почему никнейм этого персонажа ещё не перечёркнут?

r5ha ()
Ответ на: комментарий от eao197

Не внедрил. По его же словам synca не использовалась нигде, кроме его собственных экспериментов. Да и не развивается она уже несколько лет. Сам Демченко в Яндексе, кстати говоря, уже не работает.

Про синку могу и ошибаться, но в каком-то докладе, кажется на конференции Сергея Платонова чуваки из яндекса рассказывали про асинхронщину и, насколько я понял, у них boost::context во все поля (там еще про тормозную iOS было и что она с потоками не дружит). Я подумал про синку-осинку, но, возможно, это другая обертка.

Про то, что Демченко сфейсбучился или свотсапился я в курсе.

anonymous ()
Ответ на: комментарий от eao197

Зато было на opennet и тамошний RibiKukan очень похож на здешнего Царя.

А, ну это новость оттуда же. Действительно, там какой-то поток фекалий уровня «ааа, поделка студента, ааа фастцги легаси» в коментах, что невольно задаешься вопросом об адекватности комментаторов. Поколение Пепси (C).

anonymous ()
Ответ на: комментарий от anonymous

На C++Russia 2018 Иван Пузыревский из Яндекса делал доклад про асинхронность и stackful coroutines в этой связи: https://www.youtube.com/watch?v=g7dno0SupKY

Но речь шла не про synca.

Сейчас в Яндексе экспериментируют с короутинами из нового C++: https://habr.com/ru/company/yandex/blog/420861/

eao197 ★★★★★ ()
Ответ на: комментарий от anonymous

ааа фастцги легаси

Приведи пример, когда FastCGI не легаси. Я когда писал веб приложение, подключенное к nginx не увидел разницы между парсингом HTTP и FastCGI (а так как HTTP все равно будет, то зачем еще одна такая же сущность, почему бы не использовать HTTP везде).

anonymous ()
Ответ на: комментарий от anonymous

Приведи пример, когда FastCGI не легаси.

Да какая мне разница, легаси оно или не легаси? Nginx с ним работает отлично. Apache - тоже.

а так как HTTP все равно будет, то зачем еще одна такая же сущность, почему бы не использовать HTTP везде

Я, конечно, не эксперт. Но чисто теоретически могу предположить, что использование HTTP+FastCGI может поспособствовать безопасности из-за различия в протоколах

anonymous ()
Ответ на: комментарий от anonymous

И где эти языки?

В проде крупных компаний и банков

Нет никакой сложности в том, чтобы освоить что-то новое, но без практической пользы - это задротство

Более продвинутые системы типов помогают выражать ожидаемое поведние еще более явно и точно.

Языки не просто так развиваются. Если идти таким путем - то так можно выкинуть и обобщенное программирование - лишнее же, сколько лет без него жили и норм было.

nihirash ★★★ ()
Ответ на: комментарий от delightfish

1. Прости эт ты в плюсах систему типов назвал адекватной? Ну у меня для тебя плохие новости...
2. «Мощная» семантика плюсов является его самым большим недостатком, особенно с приходом 1y. Она настолько «мощная» что позволяет писать самые простые вещи вычурно в хлам забаговано и абсолютно не дебагабельно....
3. Жабка на голову выше в своих воможностях чем кресты. И папик плюсов на голову выше в ООПешности. Я уж не говорю про ЖС или там свифт, которые на полторы головы выше за смесь змеи и холодильника (ака С++)...
4. Тулинг в крестах говно, это если откровенно. И я скажу почему: все потому что создатели крестов пишут только спеку языка и НЕ делают для него экосистему, а экосистему делают кто как хочем и как попало. По факту весь тулинг для крестов состоит из осколков тулинга от папки(которые не матчатся с рельными плюсами), хипстерски недоделок(прювет шланг и атом) и проприетарных сингл-пурпоуз китов (привет icc, qcc)

Jetty ★★★★★ ()
Ответ на: комментарий от Jetty

Жабка - про «правильность», кресты - про «возможности». По этой границе делятся все бородатые пузатики мира.

Правильность - это давайте запретим множественное наследование типов, разрешим только интерфейсов. И т.п. Это скучно.

igloev ()
Ответ на: комментарий от igloev

И правильно не говоришь, ведь в яве шаблонов нет.

«Возможности»... Ты не знаешь даже половины возможностей явы. Потому что в крестах их нет :D

anonymous ()
Ответ на: комментарий от igloev

Жабка - про «правильность», кресты - про «возможности». По этой границе делятся все бородатые пузатики мира.

IMHO, «правильность» - это про хаскель и раст. Жабка про «простота» и «удобство», а плюсы про «возможности».

anonymous ()
Ответ на: комментарий от anonymous
DMITIGR_FCGI_INLINE std::ostream& crlf(std::ostream& ostr)
{
  return ostr.write("\r\n", 2);
}

«moron c++» in a nutshell. речь была про то, что вместо const char* надо было бы написать inline std::string или вообще убрать эту константу если она используется только в одном месте.

const auto serve = [](auto* const server)

надо по ссылке передавать или проверять на нулевой указатель, или хотя бы assert добавить. ну и тип лучше было бы указать, чтобы не надо было догадываться, что туда надо пихать. вот как здесь:

const auto backlog = 64;

беклог может быть отрицательным? а если перед 64 добавить минус, то что получится?

Listener_options::make(std::filesystem::path path, const int backlog)
{
  return std::make_unique<iListener_options>(std::move(path), backlog);
}

компилятор не выдаёт предупреждение на const int? зачем передавать путь по значению, а после этого пытаться делать мув временной переменной, какой смысл во всех этих буквах и знаках препинания?

вообще выбросить бы optional и string_view, они там не нужны, снизить бы требования до с++11 вместо с++17, выглядело бы посерьёзнее. «moron c++» - это, как правило, именно что студент первого курса почитал про с++ на хабре и «написал всё что знал». проще надо быть.

anonymous ()
Ответ на: комментарий от delightfish

Я слышал, что детки в садике любят придумывать всякие новые слова

может человек по образованию математик и любит рассказывать про нативную поддержку гиперкомплексных чисел.

anonymous ()
Ответ на: комментарий от anonymous

вместо const char* надо было бы написать inline std::string

Нет такого типа «inline std::string».

вообще убрать эту константу если она используется только в одном месте

Дело вкуса/стиля/гайдлайнов и т.д.

надо по ссылке передавать

Неа, там семантика указателей.

или проверять на нулевой указатель, или хотя бы assert добавить

В демонстрационном hello world длиной в 25 строк это ни к чему.

беклог может быть отрицательным? а если перед 64 добавить минус, то что получится?

Исключение.

компилятор не выдаёт предупреждение на const int?

Нет.

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

Там обычная переменная на стеке. Чтобы не копировать.

какой смысл во всех этих буквах и знаках препинания?

Любой, кто знает, тот поймёт.

вообще выбросить бы optional и string_view, они там не нужны, снизить бы требования до с++11 вместо с++17, выглядело бы посерьёзнее.

А можно и unique_ptr выбросить и снизить требования до c++98.

студент первого курса почитал про с++ на хабре и «написал всё что знал».

Бывают и такие.

проще надо быть.

Надо.

anonymous ()
Ответ на: комментарий от anonymous

чувак, твои коментарии, да и код по ссылке - это один сплошной фейспалм. погугли что-нибудь про с++. и вообще когда читаешь что-то про с++ на хабре или в википедии, то во-первых надо читать всё до конца, а во-вторых надо потом читать документашку по языку, cppreference.com будет хорошим началом.

вот именно после при упоминании «современного с++» люди сразу ожидают лютый говнокод и никогда не разочаровываются.

аффтар на си чтоли раньше писал, а теперь решил подучить «moron c++»? откуда вообще берутся указатели на char и, что это за бред с переделкой умных указателей в сырые потому что там «семантика указателей»? с++ до вчерашнего дня вообще на глаза попадался?

anonymous ()
Ответ на: комментарий от igloev

Все что ты говоришь - все правильно... в теории... В практике все разбивается о разработку програмного обеспечения в реальном мире.
А шаблоны... А что шаблоны? Отличный дробовик которым регулярно сносят пол-тела, это в реальности. Но в теории они клевые, да!

Jetty ★★★★★ ()
Ответ на: комментарий от dear_amomynous_v2_1

Это не говорит ни о чём, кроме того что они появились раньше.

Нет, полная чушь. «раньше» тебе никак не поможет. К тому же, уже через пару лет после выхода С++ - он уже был живее всех живых. 10лет с выхода раста? Где он? В дерьме.

Он не работает как PHP.

Работает.

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

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

И даже тот факт что std раста (Но не core) зависит от libc

Оно зависит не только от libc. К тому же, оно целиком и полностью зависит от llvm и само по себе неспособно ни на что.

не говорит о том, что её подобие на нём не написать, лишь о том что никому нафиг это не нужно - ведь есть уже готовый код.

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

Дичь пруфами не является.

Дичь - это ты и твой недоязычок.

«мамай кланус», я понял, чисел не будет.

Пример такого я тебе дал. Его достаточно.

Опять глупости. Уныло. Ни чисел, ни кода. А и ты со своим мнением - вовсе не авторитет.

Понимаешь. Я это я, а ты это ты. Хочешь со мною посоревноваться? Давай. К тому же, балабол, именно твоя задача доказывать равенство. Мне этого ненужно - ты пхп по определению, пока не докажешь иного.

Слишком жирно, попробуй тоньше.

Подожди, трепло. Ты оправдывал слив раста «использованием нативного кода», но ты точно так же используешь нативный код. Методичка течёт.

У тебя ещё и с математикой плохо, раз ты не знаешь что такое порядок.

Вот смотри, давай попроще. У нас есть куча золота, куча платины и куча говно. Является ли куча говна третьей по ценности? Да. Может ли её ценность быть сравнима с остальными? Нет.

Ты пытаешься вывезти хоть на чём то? Речь же шла про производительность, а не про (не-)системность.

Системность и производительность - это синонимы.

В прочем, я понял что ты просто клоун, покекаю с тебя в РО, спасибо, продолжай нас радовать, эксперт уровня «дока 2».

Трепло село в лужу.

delightfish ()
Ответ на: комментарий от spoonbob

Ой вэй. А чего тогда каждая вторая програмулина на венде не запускается пока я не установлю какой-то Visual C++ Redistributable, а то и не один?

Зачем ты пытаешься о чём-то говорить, если это не твоё? Во-первых, твоя маздайка меня вообще никак не интересует. Это пускала офиса для домохозяек. Во-вторых, ты всё перепутал. Никто не запрещает в С/С++ использовать либы и прочие зависимости. Речь шла о том, что оно является самодостаточным.

delightfish ()
Ответ на: комментарий от r5ha

Это ложь. https://stackoverflow.com/questions/43385142/how-is-rust-compiled-to-machine-...

Во-первых, с каких пор ссылки на каких-то птушников в интернете стали пруфами?

Во-вторых, даже тут ты сел в лужу:

First, the Rust compiler (just like clang, for example) does all the Rust specific stuff like type and borrow checking; in the end, it generates LLVM-IR

Нет. Никакой ir раст-говнокомпилятор не генерирует. Это всё, что нужно знать о тебе и подобных тебе балаболов в интернете.

И это ложь. https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/rust.html

Этим ты можешь только вытереть себе жопу. Этот бенчмарк сдох ещё лет 5 назад. Автор не пропускает неугодные С/С++ реализации(да и вообще любые), а так же бенчит на каком-то говне(железе из нулевых годов) и непонятно как.

Ещё одна ложь. https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-engine-quantum-css-...

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

Итого: из 3 тезисов 3 вызывающе неверны. Почему никнейм этого персонажа ещё не перечёркнут?

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

delightfish ()