<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: asmttpd - http-сервер на ассемблере&#091;BR&#093;</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/102654.html</link>
    <description>В рамках проекта asmttpd (https://github.com/nemasu/asmttpd) развивается реализация http-сервера для Linux, написанная целиком на ассемблере для архитектуры AMD64. Сервер является самодостаточным и не требует наличия внешних библиотек. Исполняемый файл занимает всего 6 Кб. Код распространяется под лицензией GPLv2.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Поддерживается обработка запросов в многопоточном режиме, отдача статических файлов  из указанной директории, обработка кодов возврата (200, 206, 404, 400, 413, 416) и выдача корректного заголовка  &quot;Content-type&quot; для файлов xml, html, xhtml, gif, png, jpeg, css, js. Из запланированных на ближайшее будущее возможностей отмечается формирование индекса содержимого директорий и поддержка заголовка HEAD. Интересно, что несмотря на то, что код написан на ассемблере, проведённые (https://news.ycombinator.com/item?id=9571827) пользователями тесты производительности показывают существенное отставание по скорости обработки запросов от современных http-серверов, написанных на языке Си.&lt;br&gt;&lt;br&gt;&lt;br&gt;URL: https://ne</description>

<item>
    <title>asmttpd - http-сервер на ассемблере (Mihail Zenkov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/102654.html#154</link>
    <pubDate>Fri, 22 May 2015 15:27:24 GMT</pubDate>
    <description>&amp;gt; Уже нет. Начиная с 4.9 SSE используется по умолчанию и для 32-битных &lt;br&gt;&amp;gt; приложений.&lt;br&gt;&amp;gt; https://gcc.gnu.org/gcc-4.9/changes.html &lt;br&gt;&lt;br&gt;Не нашел. man gcc (4.9.2) утверждает обратное. Если вы про -ffast-math, то даже я, любитель собрать систему с -O3, использую -ffast-math только при экспериментах, да и то на отдельных пакетах - слишком много от этой опции проблем.&lt;br&gt;</description>
</item>

<item>
    <title>asmttpd - http-сервер на ассемблере (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/102654.html#153</link>
    <pubDate>Fri, 22 May 2015 15:02:47 GMT</pubDate>
    <description>&amp;gt; Не все - gcc по-умолчанию использует сопроцессор для 32 битных систем. Есть у него и хитрый режим sse+387 - что удваивает количество регистров.&lt;br&gt;&lt;br&gt;Уже нет. Начиная с 4.9 SSE используется по умолчанию и для 32-битных приложений.&lt;br&gt;&lt;br&gt;https://gcc.gnu.org/gcc-4.9/changes.html&lt;br&gt;&lt;br&gt;Разве что вы собираете код для CPU без SSE или целенаправленно хотите использовать FPU ради повышенной точности.&lt;br&gt;&lt;br&gt;&amp;gt; Насколько я понимаю, речь идет о том, что при переключении потока/задачи придется регистры сопроцессор сохранять/восстанавливать.&lt;br&gt;&lt;br&gt;Вот это действительно имеет место. Но не надо путать теплое с мягким - на этапе исполнения кода никаких &quot;переключений контекста&quot; нет.&lt;br&gt;</description>
</item>

<item>
    <title>asmttpd - http-сервер на ассемблере (Mihail Zenkov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/102654.html#152</link>
    <pubDate>Fri, 22 May 2015 14:43:49 GMT</pubDate>
    <description>&amp;gt; Уважаемый, вы упоролись. Пенальти за переход между целочисленным режимом и FP был &lt;br&gt;&amp;gt; во времена MMX, когда для целочисленных значений использовались регистры FPU. С &lt;br&gt;&amp;gt; тех пор, как появились SSE/SSE2, про MMX и, собственно, сам FPU &lt;br&gt;&amp;gt; все забыли как про страшный сон.&lt;br&gt;&lt;br&gt;Не все - gcc по-умолчанию использует сопроцессор для 32 битных систем. Есть у него и хитрый режим sse+387 - что удваивает количество регистров.&lt;br&gt;&lt;br&gt;&amp;gt; Переключение контекста - это вообще из области многопоточности/многозадачности.&lt;br&gt;&lt;br&gt;Насколько я понимаю, речь идет о том, что при переключении потока/задачи придется регистры сопроцессор сохранять/восстанавливать.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>asmttpd - http-сервер на ассемблере (Legacy)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/102654.html#151</link>
    <pubDate>Fri, 22 May 2015 13:45:18 GMT</pubDate>
    <description>А если проксирует/балансирует запросы, например, к nodejs?&lt;br&gt;</description>
</item>

<item>
    <title>asmttpd - http-сервер на ассемблере (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/102654.html#150</link>
    <pubDate>Fri, 22 May 2015 12:49:20 GMT</pubDate>
    <description>Напомнило творчество одного деятеля, который &quot;для производительности&quot; написал веб-приложение на С ... работающее через CGI. Сильно удивлялся, когда я переписал это дело на богомерзком похапе и получил в 40 раз больше RPS :)&lt;br&gt;</description>
</item>

<item>
    <title>asmttpd - http-сервер на ассемблере (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/102654.html#149</link>
    <pubDate>Fri, 22 May 2015 11:52:52 GMT</pubDate>
    <description>Понятие frontend/backend ортогонально к понятию web/http server. &lt;br&gt;Если nginx общается с бекендом по fcgi или uwsgi, то бекенд уже не может претендовать на звание вебсервера.&lt;br&gt;</description>
</item>

<item>
    <title>asmttpd - http-сервер на ассемблере (myc)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/102654.html#148</link>
    <pubDate>Fri, 22 May 2015 10:52:02 GMT</pubDate>
    <description>Программирование на epoll/kqueue/poll/select + неблокирующий read/write и коллбэчная модель это ортогональные штуки.&lt;br&gt;Можно из без коллбэков, но с ними удобнее.&lt;br&gt;</description>
</item>

<item>
    <title>asmttpd - http-сервер на ассемблере (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/102654.html#147</link>
    <pubDate>Fri, 22 May 2015 10:45:59 GMT</pubDate>
    <description>&amp;gt; Не &quot;отстал&quot;, а никогда в неё и не входил. С момента появления FPU переключение между контекстом целочисленных операций и операций с плавающей запятой было и является весьма дорогим&lt;br&gt;&lt;br&gt;Уважаемый, вы упоролись. Пенальти за переход между целочисленным режимом и FP был во времена MMX, когда для целочисленных значений использовались регистры FPU. С тех пор, как появились SSE/SSE2, про MMX и, собственно, сам FPU все забыли как про страшный сон.&lt;br&gt;&lt;br&gt;Переключение контекста - это вообще из области многопоточности/многозадачности.&lt;br&gt;</description>
</item>

<item>
    <title>asmttpd - http-сервер на ассемблере (б.б.)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/102654.html#146</link>
    <pubDate>Fri, 22 May 2015 07:44:38 GMT</pubDate>
    <description>&amp;gt;&amp;gt; поэтому, нет в Debian и OpenBSD = для меня не существует :) &lt;br&gt;&amp;gt; И эти люди запрещают нам ковыряться в носу и что-то там лечат &lt;br&gt;&amp;gt; про стереотипность...&lt;br&gt;&lt;br&gt;тебе кто-то запрещает ковыряться в носу?&lt;br&gt;&lt;br&gt;и причём тут стереотипность?&lt;br&gt;</description>
</item>

</channel>
</rss>
