LINUX.ORG.RU

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

 , ,


1

3

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

>>> Источник

anonymous

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

Ога, попытался спорить. Сел в лужу. Убежал. Типичное поведение раст-адепта.

Как я уже говорил - раст по всем признакам пхп. Добавление в пхп компиляции не делает его не пхп. Погугли про hhvm. llvm изначально создавался для пхп, для скриптухи. Т.е. по-сути являлся той же самой hhvm, только с более универсальным таргетом.

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

Только если раньше пхп рождались без компилятора, то сейчас с компилятором. Их родилось много. Раст-пхп это одно из пхп. Есть там жулия/кристал/свифт-пхп - тысячи их.

Методичка у них у всех одна «они такие же быстрые как натив». Просто в раст-пхп решили хайпить на «у нас нет гц». Только проблема тут в том, что там гц есть. А полный ГЦ они попросту не осилил, т.к. llvm не давал его на халяву.

По поводу гц. ГЦ в неком общем виде - это некое неуправляемая работа с памятью в противовес управляемой. В раст-пхп никакого управления памятью нет. Там есть некие костыли, которые позволяют манипулятивно классифицировать себя за «негц». Но это попросту обман обывателя.

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

По поводу гц. ГЦ в неком общем виде - это некое неуправляемая работа с памятью в противовес управляемой

Если тебе нравится такое определение, пусть так. Вот только твоя C++-скриптота с умными указателями и прочим RAII, не чекается должным образом компилятором (*листает методичку*). И допустить ошибки при использовании такого «C++ c ГЦ» не сложнее чем malloc/free. Выходит, что старейшины упорно вкорячивают ГЦ в плюсы, просто потому, что оно есть в современных языках?

Хозяйке на заметку: если б эпл не вкидывал бабла в LLVM, он бы так и остался неизвестной поделкой на кафедре университета иллинойса. Эпл юзает clang/LLVM преимущественно для C/ObjC/Swift и избегает плюсов (кстати, почему?). Выходит, тот факт, что LLVM написан на плюсах, есть историческое недоразумение, не более

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

если б эпл не вкидывал бабла в LLVM, он бы так и остался неизвестной поделкой на кафедре университета иллинойса

А что не осталось бы неизвестной поделкой без вливания бабла?

Выходит, тот факт, что LLVM написан на плюсах, есть историческое недоразумение, не более

Не выходит. На ObjC что ли надо было писать?

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

Если тебе нравится такое определение, пусть так

Это базовое определение.

Вот только твоя C++-скриптота с умными указателями и прочим RAII

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

не чекается должным образом компилятором (*листает методичку*).

Я уже тысячи раз на эту тему говорил. Твоя раст-дристня ничего не чекает. Вообще. Тебя поимела пропаганда.

И допустить ошибки при использовании такого «C++ c ГЦ» не сложнее чем malloc/free.

Опять лозунги убогие. Они ничего не стоят. Как напишешь на своём говне хоть что-то, кроме хелвордов и лаб - приходи.

Выходит, что старейшины упорно вкорячивают ГЦ в плюсы, просто потому, что оно есть в современных языках?

Никакого ГЦ нет. Ты опять обосрался. То, что ты там где-то слышал - это ничего не значит. Управление памятью в С++ как было так и осталось полностью управляемым. Всякое raii никоим образом на это не влияет.

Хозяйке на заметку: если б эпл не вкидывал бабла в LLVM, он бы так и остался неизвестной поделкой на кафедре университета иллинойса.

Он был известен до эпла, к тому же причём тут вообще эпл? Что значит эта ахинея, что из неё следует? На что она отвечает?

Эпл юзает clang/LLVM преимущественно для C/ObjC/Swift

Опять шиза. Свифт там родился недавно и основа llvm - это шланг, который прежде всего С/С++-компилятор.

и избегает плюсов (кстати, почему?).

Да ты явно тупой. Куда избегает, чего избегает. Ты чини методичку — C++ база для llvm. Шланг на 70% состоит логики именно С++-фронта.

Единственное что там в последнее время случилось со шлангом - он плохо развивается. Но то типично для подобного периода.

Выходит, тот факт, что LLVM написан на плюсах, есть историческое недоразумение, не более

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

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

Всё, трепло окончательно сломалось. Пошел попросту рандомныйн абор слов, вместо ответа.

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

Выходит, тот факт, что LLVM написан на плюсах, есть историческое недоразумение, не более

ну да. вот например XDS, компилятор модулы и оберона-2. был тоже SSA, при этом на низкоуровневой модуле был написан GC и прочий рантайм для оберона. внутри SSA представление, си-подобный (модула-подобный) интерфейс к нему, кодогенератор из SSA.

или например QBE по ссылке выше. тоже SSA представление, при этом реализовано на С, а не на плюсах. в чём-то проще чем LLVM.

или например AmigaAnywhere/AmigaDE/ElateOS/TaoOS: AmigaDE Tao OS FAQ appsset Elate/TaoOS

предлагался кроссплатформный вариант AmigaOS, работающий как виртуальная ОС, поверх любой нативной ос (Win/Lin), в её среде (аналогично Inferno из Plan9).

в основе — идея виртуального процессора VP, у которого бесконечное число регистров, и на который относительно просто отображается любой реальный ассемблер (привет, SSA-представление биткода в LLVM).

это ещё не полноценный SSA. собственно, суть Elate/intent, Tao OS, AmigaDE/AmigaAnywhere была не в SSA представлении, удобном для оптимизации и написания компилятора вообще. суть в том, что придумывается виртуальный процессор и его виртуальный ассемблер (на который легко и просто отображается любой реальный распространённый, ну разве что кроме лисп-машин и стековых форт-ява-процессоров

суть в том, что на таком кроссплатформном ассемблере далее пишутся библиотеки, рантайм среда, GUI, мультимедиа. и получаем очень быструю ОС по принципам микроядра. аналогичную по целям Dis из Inferno, или, прости-господи, стековой JVM встраиваемой.

только гораздо быстрее и компактнее.

это было в районе 1998-2000 годов. интервью с ними было на OSnews, ещё, что-то находится поиском.

потом всё просрали, конечно же.

частично наработки TaoOS/Elate/intent/AmigaDE/AmigaAnywhere вошли в AmigaOS 4.0.

частично всё тупо просрали и похерили. ну и мелкомягкие подосрали опять, примерно как с BeOS.

в итоге любопытную систему и SDK, микроядерную, быструю, компактную и понятную тупо просрали и похоронили.

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

Эпл юзает clang/LLVM преимущественно для C/ObjC/Swift и избегает плюсов (кстати, почему?)

Чушь, половина macos (в том числе ядро) на плюсах написана

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

ХЗ начёт всего ядра, но IOKit в драйверах — это embedded C++ ограниченный. дрова там объектно-ориентированные.

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

Там ограниченный рантайм, но собираются iokit и драйвера замечательно с -std=c++14, например

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.