Как стать автором
Обновить

Комментарии 40

Эм. Я правильно понял, что вы сравниваете компьютер с 1,6 ГГц x86_64 процессором и 4 Гб памяти внутри и некое устройство с 80 МГц ARM процессором и 8 Мб памяти? Так всего лишь восьмикратный проигрыш — это вполне нормально.
Правильно поняли. Почему нормально? Разница частоты 20, два ядра, т.е. уже 40, плюс суперскалярность x86 — уже 80, а не 8. А если учесть, что Форт-код здесь ничуть не оптимизирован, то надо умножать разницу еще в 5-10 раз, т.е. 400-800.

А 5-8 — это скорее на разницу в цене этих процессоров похоже, а не на разницу производительности :)
Я просто не понимаю смысла в таком сравнении. Любому с первого взгляда будет понятно, что HonixBox в качестве HTTP-сервера проигрывает даже Pentium 2 с LAMP-сервером на борту.
Смысл в том, что конечный пользователь этого не заметит. Значит мы можем решать задачу оптимальнее в десятки раз по питанию, по размерам, и в разы по цене.
«С первого взгляда» я лично ожидал хотя бы 50-кратной разницы. Но оказывается не все так очевидно.
Мм есть вай роутеры с ними можно потягаться
wiki.openwrt.org/toh/tp-link/tl-wr703n

Чем не карманный сервер при цене за 20-25$ за штуку:)
USB Флешку воткнуть мини сервак готов=)
Atheros AR7240 CPU (400Mhz)
Atheros AR9331 Chipset (integrated wireless)
802.11 b/g/n 150Mbps (130Mbps real)
wireless power output 20dBm — 100mW
4 MB flash memory
32 MB RAM
USB 2.0 port
Powered via micro-USB socket
Tiny form factor: 5.7cm x 5.7cm

Отличная вещь! И плата похожа на HonixBox :) Но роутеры и смартфоны я отверг во втором абзаце ;) Причины там описаны.

HonixBox
image
wr703
image
Да, кстати к вопросу о «графической подсистеме» (TimID указывал ниже). К HonixBox'у экран подключить можно — через разъем справа (у надписи Honix), есть готовые совместимые. Или туда же датчики (к комментарию lehha про Arduino ниже). А указанный TpLink более узко заточен на одну задачу.
Меня привлек набор пакетов…
Перл полный, Питон полный,

Сеть ipv6 / gw6c / ipsec strongswan и много другого…

На одном из таких роутеров сделал сетевой USB диск через Samba server;)

меня привлек форм фактор и совмстимость с линуксом и перспектива доставлять систему на внешний носитель.
Да, на роутерах сейчас много интересного делают.
Странно, конечно, что Вы взяли ngix под Win8 для сравнения с самописным сервером, но явно не имеющим графической подсистемы.
Попробуйте все же поставить хотя бы связку LAMP из UbuntuServer. Так сравнение будет корректнее.

Но можно ли попросить исходники для Вашего контроллер-сервера опубликовать? Данный проект очень интересен.
Nginx как-то тормозится из-за GUI Win8? В Убунте она ему не мешает? Но сравнить с линуксом, особенно на той же машине, конечно будет интересно. И мне скорее всего далее и придется так поступить, т.к. со скриптами у Nginx+PHP под виндой явно что-то не то.

Исходники выдам, если вы обещаете изучить Форт для их чтения ;) Там ни буквы на Си. Ни в сервере, ни в трансляторе.
Win8 имет в разы больше фоновых задач чем голый линукс сервер. Отсюда более частое переключение контекста и прочее. Так, что да. Тест не адекватный.
Форт, это, конечно, печально (для меня). Учить времени нет.
Но может как раз в нем проблема?
Не попадался ли Вам пример веб-сервера для такого контроллера?
Есть штатные примеры от TI (у них на сайте доступны) — на базе свободных lwIP и т.п. микро TCP/IP-стеков. Но они совсем игрушечные. Есть несколько RTOS со своими серверами. Но можно поставить и облегченный Linux — ucLinux.

> Но может как раз в нем проблема?

Какая в нем проблема?
Ну, согласно принципам построения трансляторов с Форта, полученный (машинный) код — это последовательность вызовов процедур с глубокой степенью вложенности. А значит очень велики накладные расходы на работу со стеком.
То есть если попробовать написать «плоский» код — может получиться гораздо более эффективный сервер.
Да, про неоптимальность кода, порождаемого ЭТИМ транслятором я честно написал, а в зрелых фортах, в т.ч. нашем spf.sf.net есть оптимизаторы (автоматические), дающие вполне сравнимый с Си код.

Но раз даже в текущем виде этот встроенный форт на слабом процессоре отстает от самого быстрого в мире веб-сервера nginx на процессоре, который быстрее на два порядка, всего в 5-8 раз, то оптимизация форт-кода будет преждевременной оптимизацией, которая скорее всего заметной разницы не даст, т.к. задержки здесь (и тем более у nginx) явно не в коде.
Было бы любопытно взглянуть. Форт изучал, даже писал свой транслятор FORTH-83 на ASM 8080. Ну и в nnCron использовал по мелочи. Честно говоря, думал, что язык практически мёртв или just for fun.
Ладно, тогда следите за iron.snop.ru — туда положу, когда причешу для публикации.

Форт ничуть не мертв. Если знаете nnCron, то наверняка знаете и о Eserv (на том же трансляторе Форта сделан) — www.eserv.ru — регулярно выпускаются новые версии. Исходники тоже доступны.
Nginx под windows работает медленно о чем написано в документации:
nginx.org/ru/docs/windows.html
Был подобный интерес по Arduino+Ethernet Shield v2:
встроенный сервер обрабатывал 20 запросов в секунду, выдавая состояния 2х аналоговых входов.

Если же отключить чтение входов, то скорость возрастала до 100 запросов в секунду.
У Arduino ограничение на к-во одновременных коннектов (в ethernet-контроллере, который там аппаратно реализует tcp/ip), а собственной памяти arduino не хватит на реализацию никакого традиционного сетевого сервиса, кроме собственно выдачи значений датчиков, а внешнюю RAM не подключить. Ну и собственно по условиям эксперимента, которые я поставил в начале текста, он не подходит, т.к. не похож по параметрам на те компьютеры, которые в середине 90х «сервировали города». Он даже и до серверов ARPANET'а из 70х не дотягивает, по-моему.
только непонятно почему интернет в 95-м пришел? Я как частное лицо в 92-м подключился и был даже не в первой сотне, а в столицах наверняка все еще раньше началось. А организации — еще раньше.
Вы знаете хотя бы один русский сайт 92го года? В 92м был «Релком». Интернет-email, но без онлайн-доступа (ftp-mail не в счет). Ну и FIDO :)

В 95м интернет окончательно перестал быть военно-академической штучкой, а стал применяться коммерческими структурами и частными лицами.
ну русских сайтов-то не было конечно и да — в основном почта, но буржуйских сайтов все же было много и поисковики даже. И несколько браузеров, которые картинки показывали и еще несколько, которые не показывали. Другое дело что стоило оно вменяемых денег только с доступом к почте — полный интернет в релкоме был в районе 4-х долларов в минуту, а спринт и роспак еще дороже (к 94-му снизилось до 70 центов), а основная структура повторяла все то же fido — рассылки всякие по темам обсуждений. Но все равно было удивительно что почта куда-нибудь в Австралию может идти не неделю, а пару минут :)
В нашей провинции интернет был $6/минута в 1996м году. А до этого года только почта.
486DX150 — разве не Intel?
Аналог интела от амд тех времен.
image
image
Ах, боже мой, как он «гнался»! Иногда до 180 МГц!
Бывает и AMD.
У меня (в 94м) был от AMD, у интела на тот момент такого не было, по-моему. Зато уже был Пень.
Уточнение: AMD 486DX133, у всех без проблем разгонялся до 150. У некоторых умельцев и до 160.
Вроде сама intel ограничилась DX4@100 в принципе, и то на самом деле они были DX3@99
Да нет, вроде, базовая частота была 25 МГц для DX4.
Помнится, мы еще упражнялись выставляя для них базовую (шины) частоту в 30, и получали 120й камень.
Вроде реальное учетверение частоты было только у Am5x86 (133), а что у интеловских, что у амдшных DX4 было утроение. 120 получали из 100 выставляя 40 вместо 33 (платы на 486 до 50 тактовую держали).
Действительно, я немного запутался (давненько это было).
Ведь был же еще Cyrix 5x86 с ограниченной поддержкой инструкций Pentium.

Но, черт возьми, они же с пассивным охлаждением часто работали!

Вот, кстати, нашел подтверждение, что не только у наших умельцев 160МГц было на AMD — они штатно такими выпускались:
image
> не только у наших умельцев 160МГц было на AMD

Ну, это было уже несколько позже, чем 95-96 год. Они у наших умельцев узнали, что можно гнать, и перемаркировали :)
> Но, черт возьми, они же с пассивным охлаждением часто работали!

Да. Я по этой причине тогда долго не хотел на пень переходить. Кстати, современный AMD E350 тоже может работать с пассивным охлаждением — греется до критических для него 90 градусов, но живёт.
Всё возвращается на круги своя. Старое доброе железо, старые добрые скрипты и языки. Пассивное охлаждение возвращается, в том числе на новых платформах, заточенных под «Ультра» БУКИ. Сравнение с ардунито правильно, но форт для него пока не видел ( а может прост потому, что на ардунито пока пару устройств делал). Но, поражен. Если неоткомпиленный код под Windows 8 дал такие результаты, то перекомпиленный на С Он даст совсем другие результаты. Готов вспомнить форт ради перекомпилирования)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории