Re[18]: КОП в linux
От: vdimas Россия  
Дата: 24.10.06 11:24
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Не совсем так. Unix way (во всяком случае, в контексте этой дискуссии, как я её понимаю) не так мёртво завязан на синхронность вызовов. Что COM, что CORBA — одна и та же песня: синхронный вызов с непредсказуемой длительностью, с помощью которых ещё и эмулировать messaging приходится.


Ну вообще-то в CORBA можно описать асинхронные вызовы.



ГВ>Чистый messaging вдвое экономичней:


ГВ>
ГВ>A -- msg_to_call_func --> B

ГВ>тишина...

ГВ>  <-- msg_with_result --
ГВ>



В CORBA-way делают так:
A --- msg_to_call_func(callback) -->

тишина...
callback <--- msg_with_result

Ведь тебе по-любому надо как-то заниматься диспечеризацией ответных сообщений, наличие callback делает это автоматически. Если же прямой вызов A-->B был асинхронным, то такая модель IMHO получается самой удобной для программирования того, о чем ты говоришь, ибо стандарты CORBA решают за разработчика кучу вещей, начиная от разбора/компоновки сообщений, диспечеризации и заканчивая балансировкой нагрузки на серверной стороне (с поддержкой пулов тредов и прочих технических "мелочей", которые вовсе не мелочи).


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


Фиг его знает. Ведь любой свой протокол надо специфицировать. А IDL с коменнтариями сама по себе является неплохой докой.

ГВ>Опять таки, любой вызов DCOM/CORBA может завершиться исключением, а это уже требует в обязательном порядке обкладывать их обработкой исключений, с messaging всё проще — мы сразу честно признаёмся себе, что длительность вызова предсказать нельзя и ориентируемся на модель: "ждём сообщение", а не "должно сработать!".


Это верно для синхронных вызовов.

ГВ>Эмулировать RPC с помощью messaging — запросто (он и так на нём построен ), обратное — уже не так легко (минимум два варианта: polling или callback), плюс обязательная дополнительная загрузка канала связи. В случае callback (для CORBA) ещё нужно вставлять в клиенскую часть сугубо серверные приблуды итэдэ итэпэ.


В момент инициализации ORB-а добавить 5-6 лишних строк для установки его серверных св-в. В мессейджинге тебе ведь тоже надо как-то озаботиться приемом сообщений. В CORBA можно запустить ORB в отдельном потоке, либо регулярно вызывать у него нечто вроде do_messages(). Т.е. ничем не хуже обслуживание сокетов. Да еще код попереносимей будет.

ГВ> А простой messaging по IP: сокеты плюс простенькая сериализация. Да и то, в случае C можно структуры данных почти без изменений гонять (диспетчеризация только нужна и решение конфликта endian-ов).


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

ГВ>Одним словом, messaging — базовый механизм, на нём уже можно сделать всё.


От требований задачи зависит. Если вдруг начнет получаться, что самописный messaging превращается в CORBA или COM, то понятно, что делать надо.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[20]: КОП в linux
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.10.06 11:44
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Кроме того, я только сейчас это заметил — при сканировании

C>include-файлов они ищутся по именам, что немного медленнее перечисления
C>findfirst/findnext'ом.

Ты спутал НТФС с ФАТ32 В нем перебор делается быстрее чем поиск по имени.
Как раз по именам в НТФС ищется быстрее, нежели перебором findfirst/findnext.
Все оттого, что поиск в дереве выполняется быстрее перебора всех элементов.


> Самый старый файл обновлялся 05.07.2006 09:37:49

Заметь, уже 1.3 секунды. Умножь это число на 5 — получим порядка 7 секунд.

С учетом твоего высказывания выше, можно 7 помножить еще на 1000 и прибавить 345, шоб больше було
Re[18]: КОП в linux
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.10.06 11:46
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Драйверы чего обновлять? Все как поставилось с родного

C>установчного диска — так и стоит.

Ты винду и лялих запускаешь на одном и том же медленном ноутбуке ?
Re[16]: КОП в linux
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.10.06 11:48
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Кстати, если тебе так нравится NTFS и Windows, то расскажи как сделать

C>аналог Линуксового laptop mode?

Элементарно. 2 гига памяти и отключаешь своп.
Re[10]: КОП в linux
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 24.10.06 11:55
Оценка:
Здравствуйте, Cyberax, Вы писали:


>>> > XPCOM просто самопальный клон КОМ-а который можно использовать в любом

>>> > компиляторе С++ при наличии соотвествующих библиотек.
>> C>А тулзы для работы с его библиотеками типов, создания wrapper'ов по типу
>> C>ATLевских, всякие аналоги ATL/MFC Trace Tool?

>> А что с Цигвином оно не работает?
C>XPCOM (как и сам COM) может работать с чем угодно — смысл в том, что
C>кроме тулзов из Mozilla для XPCOM больше ничего почти и нет.



Выделил сообщения. Не могу понять логики
Re[21]: КОП в linux
От: Cyberax Марс  
Дата: 24.10.06 12:57
Оценка:
Plutonia Experiment wrote:
> Ты спутал НТФС с ФАТ32 В нем перебор делается быстрее чем поиск по имени.
> Как раз по именам в НТФС ищется быстрее, нежели перебором
> findfirst/findnext.
> Все оттого, что поиск в дереве выполняется быстрее перебора всех элементов.
Ничего я не перепутал. Почитай лучше про алгоритм "танцующих деревьев" в
Reiser4.

NTFS — это хорошая система для 90-х годов, но сейчас она уже устарела.

>> Самый старый файл обновлялся 05.07.2006 09:37:49

> Заметь, уже 1.3 секунды. Умножь это число на 5 — получим порядка 7 секунд.
> С учетом твоего высказывания выше, можно 7 помножить еще на 1000 и
> прибавить 345, шоб больше було
Мне просто лень было делать более точные замеры. Я уже как-то сюда писал
мини-бенчмарк: http://rsdn.ru/Forum/?mid=1710544
Автор: Cyberax
Дата: 02.03.06
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[19]: КОП в linux
От: Cyberax Марс  
Дата: 24.10.06 12:57
Оценка:
Plutonia Experiment wrote:
> C>Драйверы *чего* обновлять? Все как поставилось с родного
> C>установчного диска — так и стоит.
> Ты винду и лялих запускаешь на одном и том же медленном ноутбуке ?
Ага. Хотя не такой уж он и медленный — я специально поставил винчестер
на 7200RPM.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[17]: КОП в linux
От: Cyberax Марс  
Дата: 24.10.06 12:59
Оценка:
Plutonia Experiment wrote:
> C>Кстати, если тебе так нравится NTFS и Windows, то расскажи как сделать
> C>аналог Линуксового laptop mode?
> Элементарно. 2 гига памяти и отключаешь своп.
Мимо тазика. Каждый раз когда ты будешь жать ctrl-s в редакторе у тебя
будет происходить запись на диск, а значит диск должен работать.

Laptop-mode позволяет ВООБЩЕ выключить диск (его двигатель физически
останавливается) и накапливать изменения в памяти, а потом сбрасывать
одним куском.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[11]: КОП в linux
От: Cyberax Марс  
Дата: 24.10.06 13:00
Оценка:
Plutonia Experiment wrote:
>> > *C>А тулзы для работы с его библиотеками типов, создания wrapper'ов
> по типу**
>> > C>ATLевских, всякие аналоги ATL/MFC Trace Tool?*
>> > А что с Цигвином оно не работает?
> *C>XPCOM (как и сам COM) может работать с чем угодно — смысл в том, что
> C>кроме тулзов из Mozilla для XPCOM больше ничего почти и нет.*
> Выделил сообщения. Не могу понять логики
XPCOM — это языко-независимая система по своему дизайну, но де-факто с
ней работают только тулзы от Mozilla.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[22]: КОП в linux
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.10.06 17:29
Оценка: +1 -1
Здравствуйте, Cyberax, Вы писали:

C>Plutonia Experiment wrote:

>> Ты спутал НТФС с ФАТ32 В нем перебор делается быстрее чем поиск по имени.
>> Как раз по именам в НТФС ищется быстрее, нежели перебором
>> findfirst/findnext.
>> Все оттого, что поиск в дереве выполняется быстрее перебора всех элементов.
C>Ничего я не перепутал. Почитай лучше про алгоритм "танцующих деревьев" в
C>Reiser4.


при сканировании
include-файлов они ищутся по именам, что немного медленнее перечисления
findfirst/findnext'ом.


Узнаешь автора этих строк ? Так вот, это утверждение ложно для системы НТФС(и рейзер4) и истинно для фат32. Так понятнее ?



C>Мне просто лень было делать более точные замеры. Я уже как-то сюда писал

C>мини-бенчмарк: http://rsdn.ru/Forum/?mid=1710544
Автор: Cyberax
Дата: 02.03.06


Это не бенч. Это подгон под нужные результаты.
Re[18]: КОП в linux
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.10.06 17:35
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Laptop-mode позволяет ВООБЩЕ выключить диск (его двигатель физически

C>останавливается) и накапливать изменения в памяти, а потом сбрасывать
C>одним куском.

Запись все равно будет, когда приложениям понадобится доп. память. В чем смысл этого ?
Re[19]: КОП в linux
От: Cyberax Марс  
Дата: 30.10.06 19:14
Оценка:
Plutonia Experiment wrote:
> C>Laptop-mode позволяет ВООБЩЕ выключить диск (его двигатель физически
> C>останавливается) и накапливать изменения в памяти, а потом сбрасывать
> C>одним куском.
> Запись все равно будет, когда приложениям понадобится доп. память. В чем
> смысл этого ?
Вот если понадобится — тогда и запишется. Например, на 1Гб памяти
с CompressedCache патчем компиляция ядра Линукса проходит без единого
касания диска.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[23]: КОП в linux
От: Cyberax Марс  
Дата: 30.10.06 19:16
Оценка:
Plutonia Experiment wrote:
> C>Ничего я не перепутал. Почитай лучше про алгоритм "танцующих деревьев" в
> C>Reiser4.
> при сканировании
> include-файлов они ищутся по именам, что немного медленнее перечисления
> findfirst/findnext'ом.
Для КАЖДОГО файла нужно сделать поиск по имени — получаем время
N*log(N), где N — число файлов.

В случае с findfirst/findnext нужно просто один раз перебрать все файлы,
что дает время N. Это и имелось в виду.

> C>Мне просто лень было делать более точные замеры. Я уже как-то сюда писал

> C>мини-бенчмарк: http://rsdn.ru/Forum/?mid=1710544
Автор: Cyberax
Дата: 02.03.06

> Это не бенч. Это подгон под нужные результаты.
Хочешь сказать, что цифры неправильные? Ну давай еще потестим.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[20]: КОП в linux
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.11.06 11:19
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Вот если понадобится — тогда и запишется. Например, на 1Гб памяти

C>с CompressedCache патчем компиляция ядра Линукса проходит без единого
C>касания диска.

А для чего это ? что бы на форум сюда прийти и сказать об этом ?

Проекты, с которыми я работаю, создают временных файлов и всякой бряни от гигабайта и до трех. Не пойму, чем это режим мне лично поможет.
Re[24]: КОП в linux
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.11.06 11:28
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Plutonia Experiment wrote:

>> C>Ничего я не перепутал. Почитай лучше про алгоритм "танцующих деревьев" в
>> C>Reiser4.
>> при сканировании
>> include-файлов они ищутся по именам, что немного медленнее перечисления
>> findfirst/findnext'ом.
C>Для КАЖДОГО файла нужно сделать поиск по имени — получаем время
C>N*log(N), где N — число файлов.

C>В случае с findfirst/findnext нужно просто один раз перебрать все файлы,

C>что дает время N. Это и имелось в виду.

Вобщем разъясни подробно, что ты имел ввиду когда говорил следующее

"при сканировании include-файлов они ищутся по именам, что немного медленнее перечисления findfirst/findnext'ом"
Re[21]: КОП в linux
От: Cyberax Марс  
Дата: 02.11.06 11:34
Оценка: 1 (1)
Plutonia Experiment wrote:
> C>Вот *если* понадобится — тогда и запишется. Например, на 1Гб памяти
> C>с CompressedCache патчем компиляция ядра Линукса проходит без единого
> C>касания диска.
> А для чего это ? что бы на форум сюда прийти и сказать об этом ?
> Проекты, с которыми я работаю, создают временных файлов и всякой бряни
> от гигабайта и до трех. Не пойму, чем это режим мне лично поможет.
"А для чего это ? что бы на форум сюда прийти и сказать об этом ?" (c) ты.

Для меня этот режим очень полезен, например. Так у меня не создаются
гигабайты временных файлов. Для многих других тоже может быть полезно.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[25]: КОП в linux
От: Cyberax Марс  
Дата: 02.11.06 11:35
Оценка:
Plutonia Experiment wrote:
> C>В случае с findfirst/findnext нужно просто один раз перебрать все файлы,
> C>что дает время N. Это и имелось в виду.
> Вобщем разъясни подробно, что ты имел ввиду когда говорил следующее
> "при сканировании include-файлов они ищутся по именам, что немного
> медленнее перечисления findfirst/findnext'ом"
Сравнивалось однократное линейное сканирование каталога и
многократный поиск в нем по имени.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[24]: КОП в linux
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 02.11.06 12:02
Оценка:
Здравствуйте, Cyberax, Вы писали:

>> C>Мне просто лень было делать более точные замеры. Я уже как-то сюда писал

>> C>мини-бенчмарк: http://rsdn.ru/Forum/?mid=1710544
Автор: Cyberax
Дата: 02.03.06

>> Это не бенч. Это подгон под нужные результаты.
C>Хочешь сказать, что цифры неправильные? Ну давай еще потестим.

Я хочу сказать, что сначала были цифры, а потом появился тест.

Такой тест, как компиляция, ничего не показывает. А именно ее ты пытался эмулировать.
Здесь узкое место не файловая система, а процессор.
Ну быстрее тут рейзер4 и что с того ?

Теперь по тесту.
Во первых, сравнивается только в одинаковых условиях. у тебя этого нет.
Во вторых, тест не полный — нужны тесты с различными размерами файлов — это очень важно.

Так вот, уважаемый, обе файловые системы заточены под ОС, а не абстрактые реализации неких хороших идей.
В силу особенностей линукса файловое пространство имеет одни особенности, НТ-ХП — другим способом (количество файлов, размеры файлов, особенности работы с файлами и тд и тд).
И файловые системы сделаны так, что бы в этих случаяъ и давать максимальную производительность.

С учетом того, что рейзер4 появилась на 10 лет позже НТФС, очевидно, что в рейзер4 учли опыт и ошибки НТФС. Следовательно можно ожидать что рейзер4 будет пошустрее. Но не в разы, как ты показал.

Теперь один вопрос — рейзер4 уже стал стабильной или все еще падает ?
А то журналирование есть, а данные теряются
Re[25]: КОП в linux
От: WolfHound  
Дата: 02.11.06 12:16
Оценка:
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Теперь один вопрос — рейзер4 уже стал стабильной или все еще падает ?

PE>А то журналирование есть, а данные теряются
Когда я на своей текущей работе спросил, а почему везде стоит ext3 ведь народ пишет что reiser4 быстрее... мне ответели:

reiser4 перманентно не стабилен.

Все.
Кроче reiser4 может выполнять какието операции хоть в 1000 раз быстрее но если она дает не верные результаты то она не работает.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[26]: КОП в linux
От: Cyberax Марс  
Дата: 02.11.06 12:26
Оценка:
WolfHound wrote:
> Когда я на своей текущей работе спросил, а почему везде стоит ext3 ведь
> народ пишет что reiser4 быстрее... мне ответели:
> reiser4 перманентно не стабилен.
А я у сантехника спросил об окнах — он мне сказал, что лучше ставить
пластиковые. Сейчас вот думаю, как их заказать у Microsoft.

> Все.

> Кроче reiser4 может выполнять какието операции хоть в 1000 раз быстрее
> но если она дает не верные результаты то она не работает.
У меня на ноуте работает уже очень долгое время без проблем. На двух
корпоративных серверах — тоже без нареканий.

Reiser4 — пока в нестабильной ветке Линукса (-mm ядро), скоро собираются
мигрировать в mainline.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.