Forth http://fforum.winglion.ru/ |
|
о преимуществах и недостатках существующих стандартов http://fforum.winglion.ru/viewtopic.php?f=36&t=1799 |
Страница 5 из 6 |
Автор: | Hishnik [ Пн янв 08, 2018 03:18 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Victor__v писал(а): Обойтись-то можно. Однако ж бывают задачи и ситуации, когда одну и туже операцию надо делать быстро и много. Самый простой пример это сервер. Клиент подключился -> полученный сокет отправляем новосозданному потоку -> ожидаем след. клиента. И это на каждый используемый порт. Хорошо, а если для начала рассмотреть вариант однопоточного приложения? Если заготовку для шапки разрезать на 7 частей, 7 шапок из нее не получится. Такты процессора не возьмутся из ниоткуда, к тому же потратится время на переключение потоков. В чем ожидается преимущество многопоточного серверного приложения на Форте? Какой типовой сценарий использования (в виде ключевых фрагментов кода) должен поддерживаться? |
Автор: | Ethereal [ Пн янв 08, 2018 08:57 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Hishnik писал(а): А зачем так? Зачем встроенной системе надуманные характеристики софта, если заведомо известно, что придется "плакать, колоться, но жрать кактус"? А можно понятным языком ? А то я не понял.Hishnik писал(а): Сейчас есть уже и многопоточность, и многозадачность, да еще в разных вариантах. Забыл уточнить - на ПК.
|
Автор: | Hishnik [ Пн янв 08, 2018 14:44 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Ethereal писал(а): А можно понятным языком ? А то я не понял. Так ведь тема многопоточности поднималась уже неоднократно. Постоянные проблемы то в одном месте, то в другом, и почему-то убежденность, что без многопоточности никуда. Ну и зачем надо жрать этот кактус, если сразу понятно, что он колючий? Если есть сомнения, может быть задачу и не надо решать таким способом? Ethereal писал(а): Забыл уточнить - на ПК. Старший ARM - тот же Линукс. Варианты MMU есть и на младших МК. А вот многопоточность by design: http://fforum.winglion.ru/viewtopic.php?f=3&t=3104 |
Автор: | Victor__v [ Пн янв 08, 2018 18:47 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Hishnik писал(а): Хорошо, а если для начала рассмотреть вариант однопоточного приложения? Поддержка многопоточности в изначально однопоточном приложении лишняя. С другой стороны возможность из коробки распараллелить часть решаемых задач в случае нужды достаточно полезно. Hishnik писал(а): В чем ожидается преимущество многопоточного серверного приложения на Форте? Однопоточные серверные приложения проигрывают многопоточным в скорости. К примеру, на сервер стучатся два клиента. Одному надо выдать целую сводку данных из разных источников, а другому надо выдать страницу-визитку. Ежели у нас один поток, по второй клиент должен ждать, когда закончится обрабатываться запрос первого! Простой на стороне сервера где-то на 10 сек + транспортные накладки и это чтобы выдать простую страницу второму клиенту. Тормоза. Насчёт преимуществ форта в серверном деле вопрос интересный. В качестве написания простого web-сервера преимуществ особых не видится. Но ежели форт используется не только в веб-сервере, но и в скриптах, то обработка ускоряется за счёт снижения издержек и изначальной компилировачной ипостаси форта. Hishnik писал(а): Какой типовой сценарий использования (в виде ключевых фрагментов кода) должен поддерживаться? Не понял. Что имеется ввиду? |
Автор: | Hishnik [ Пн янв 08, 2018 20:55 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Victor__v писал(а): Поддержка многопоточности в изначально однопоточном приложении лишняя. С другой стороны возможность из коробки распараллелить часть решаемых задач в случае нужды достаточно полезно. Тут уж надо определяться. Или пока многопоточность не сделана, работать толком нельзя, и надо прилагать усилия для реализации. Или многопоточность оставляется на лучшие времена. Victor__v писал(а): Однопоточные серверные приложения проигрывают многопоточным в скорости. Однопоточные серверные приложения, или конкретно программы на Форте? Victor__v писал(а): Hishnik писал(а): Какой типовой сценарий использования (в виде ключевых фрагментов кода) должен поддерживаться? Не понял. Что имеется ввиду? Вот конкретно - что именно должен делать Форт на сервере. Потому что под абстрактные серверные задачи видятся применимыми и другие языки. А тут у Форта еще и многопоточность в процессе обсуждения. И получается, что надо сделать сложную вещь непонятно зачем. |
Автор: | Victor__v [ Вт янв 09, 2018 12:10 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Цитата: Тут уж надо определяться. Или пока многопоточность не сделана, работать толком нельзя, и надо прилагать усилия для реализации. Или многопоточность оставляется на лучшие времена. Тогда уж первый вариант, ежели вопрос ребром стоит. К тому ж делать её очень просто. Всего два пункта [list=]Организация пользовательских переменных.[/list] [list=]Запуск потоков.[/list] В №2 Однопоточные серверные приложения Цитата: Вот конкретно - что именно должен делать Форт на сервере. Быть сервером. Тут многопоточность по-любому. Или приложением-скритпом под FastCGI. Тут возможны варианты. К примеру, сложные SQL-запросы к БД. Лучше несколько простых запросов параллельно и уже из них на месте делать сводку. В чём тут форт имеет приемущество? Компиляция во время выполнения. Возможность на ходу поправить скритпы-исходники и сбросить и перезапиустить приложение. Короче, сочетание двух ипостасей форт-системы. |
Автор: | _KROL [ Вт янв 09, 2018 16:58 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Hishnik писал(а): ... В действительности, как можно использовать однопоточность в всемирной паутине? Это может и выгодно для некоторых серверов, которые мало общаются с каждым клиентом, но как тогда защитится от DDOS атак?Victor__v писал(а): ... Редко встречается в нашем мире и однозадачность Например в Обероне, который тоже можно использовать как сервер. Но такой подход, как я понял, неплох для небольшой локальной сети, а не WWW.
|
Автор: | Victor__v [ Вт янв 09, 2018 19:17 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
_KROL писал(а): Hishnik писал(а): ... В действительности, как можно использовать однопоточность в всемирной паутине? Это может и выгодно для некоторых серверов, которые мало общаются с каждым клиентом, но как тогда защитится от DDOS атак?Victor__v писал(а): ... Редко встречается в нашем мире и однозадачность Например в Обероне, который тоже можно использовать как сервер. Но такой подход, как я понял, неплох для небольшой локальной сети, а не WWW.Ежели сервер однопоточный то и DDOS не нужен |
Автор: | _KROL [ Вт янв 09, 2018 19:19 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Victor__v писал(а): Ежели сервер однопоточный то и DDOS не нужен Ой, точно)
|
Автор: | Hishnik [ Вт янв 09, 2018 20:06 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Victor__v писал(а): Однопоточные серверные приложения Однопоточный Форт <> однопоточное серверное приложения. Серверные приложения ведь как-то существуют в многопоточных вариантах и без Форта. Victor__v писал(а): Быть сервером. Тут многопоточность по-любому. Нет, это слишком общее. Есть понятие "сценарии применения". Что конкретно надо будет написать на таком Форте? Если просто be_server, то это опять же не вариант. Это можно вызвать просто другое серверное приложение через ShellExecute - вон как Шабронов нас тут всех "просветил". С очень большой вероятностью может оказаться, что переключение форт-потоков никакой особой проблемы и не решает. Victor__v писал(а): В чём тут форт имеет приемущество? Компиляция во время выполнения. Возможность на ходу поправить скритпы-исходники и сбросить и перезапиустить приложение. Короче, сочетание двух ипостасей форт-системы. Вариант: запуск потоков средствами ОС. Или задач. Переизобретать управление задачами/потоками более не требуется. Сервер устойчив к множественным запросам, точно так же, как и другие серверные приложения, использующие эти механизмы ОС. |
Автор: | Victor__v [ Вт янв 09, 2018 20:39 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Цитата: Вариант: запуск потоков средствами ОС. Или задач. Переизобретать управление задачами/потоками более не требуется Не, ну это как? я лично не знаю способа запустить потоки без средств ОС. Если Вам известен способ запустить поток минуя ОС, то я весь во внимании. И кто переизобретает управление потоками? Кто этот негодяй? На современных операционках это дело лишние. Да и форте потоки запускаются средствами ОС. |
Автор: | Hishnik [ Ср янв 10, 2018 00:14 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Victor__v писал(а): Не, ну это как? я лично не знаю способа запустить потоки без средств ОС. Если Вам известен способ запустить поток минуя ОС, то я весь во внимании. У Баранова же описано. Можно было еще в ДОС запускать несколько потоков исполнения форт-команд с помощью адресного интерпретатора. Обычно, когда речь заходит о многопоточности в Форте, имеется в виду именно это. Оттуда и USER-переменные. А если через вызовы ОС, то это не очень интересно, это надо не Форт изучать, а соответствующие инструменты ОС. От Форта остается только обертка. |
Автор: | Victor__v [ Ср янв 10, 2018 00:43 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Цитата: У Баранова же описано. Можно было еще в ДОС запускать несколько потоков исполнения форт-команд с помощью адресного интерпретатора. Обычно, когда речь заходит о многопоточности в Форте, имеется в виду именно это. Оттуда и USER-переменные. Так и знал, что мы говорим о разном немножко. Однако ж USER-переменные актуальны. В винде по крайне мере. Цитата: А если через вызовы ОС, то это не очень интересно, это надо не Форт изучать, а соответствующие инструменты ОС. От Форта остается только обертка. Не знаю как раньше, но сейчас на форте иногда балуются с корпоративной многозаачностью. Вроде бы интересно, но где применяется никто не видел. В СПФ-е либа есть где-то. Лучше уж писать "тупые" либы по работе с сетью, файлами, поиск, разбор. Больше шансов, что пригодится. |
Автор: | mOleg [ Ср янв 10, 2018 15:47 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
один поток снимает показания с датчика (по одному потоку на датчик) в другом крутится оболочка, занимающаяся отрисовкой и сохранением данных. |
Автор: | Ethereal [ Вс янв 14, 2018 04:33 ] |
Заголовок сообщения: | Re: о преимуществах и недостатках существующих стандартов |
Простейшая МК-система с семисегментным индикатором и кнопками уже требует двузадачности. Обычно я делаю динамическую индикацию в обработчике прерывания по таймеру и опрос кнопок и реакцию на их нажатия главным циклом. Но это на ассемблере. И вообще МК-задача типично разбивается на две - делать то, что должен делать фоновой задачей и реагировать на действия пользователя оперативно. На форте сделал бы корпоративную двузадачность. Плата за наличие такой возможности ведь минимальна - ну слова STATE BASE и еще несколько штук должны быть не value, а именно переменными плюс наличие слово USER опционально. На мой взгляд вообще не плата, ибо само наличие VALUE тоже должно быть опционально. Ну лишняя это сущность в минимальном ядре. |
Страница 5 из 6 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |