Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт ноя 21, 2017 12:10 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 75 сообщений ]  На страницу Пред. 1 2 3 4 5 След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 27, 2006 4:06 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
bambus
Если есть желание написать мессенджер, то лучше сразу писать на С. сэкономишь кучу времени. На асме лучше писать низкоуровневые функции, которые можно вставить в ядро.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 27, 2006 4:18 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Если где-то нужно использовать :mmx,sse,3dNOW ,то без ассемблера тут не обойтись.
Или если необходимо оптимизировать код по скорости,то нужно снова использовать ассемблер.

C можно использовать только для организации логики программы,а скоростные части нужно писать на Ассемблере.
Если программа не критична к скорости,то можно её писать и на C(как миранду).


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 27, 2006 4:52 pm 
Не в сети

Зарегистрирован: Чт янв 26, 2006 8:47 pm
Сообщения: 284
Идея портирования ICQ в meos у меня витала уже давно, но я не знаю как работать с сетью(( На тему создания клона аськи нашел несколько тем, в том числе "ICQ2000 сделай сам" на Delphi.... Если кого заинтерисует, то они лежат тут:
http://delphiworld.narod.ru/base/icq2000_1.html - http://delphiworld.narod.ru/base/icq2000_10.html

В них разобраны пакеты аси


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 27, 2006 7:11 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
andrew_programmer
Хорошие компиляторы Си делаю очень хорошо оптимизированный код. MSVC оптимизирует mmx и sse лучше чем получается вручную. Я это выяснил когда компилировал библиотеку fftw.
А время разработки на Си на много меньше.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 27, 2006 9:38 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт май 19, 2005 4:43 pm
Сообщения: 896
Незнаю как MSVC,но GCC действительно выдаёт хорошо оптимизированный код(в большинстве случаев).Но это GCC,а не простенький metcc,который не производит даже элементарной оптимизации типа:

mov ecx,0

а правильнее и быстрее будет
xor ecx,ecx
(и дело совсем не в флагах).

И еще одно ВАЖНЕЙШЕЕ замечание.

Когда алгоритм пишет человек,то он использует все регистры.А как изестно регистровая память самая быстрая.Компилятор C хоть и подменяет некоторые переменные регистрами,но он не использует все регистры и не может организовать использование регистров самым оптимальным образом(это под силу только человеку).
В этом я убедился,когда сравнил скорость рисования геометрических примитивов в C и скорость рисования ЭТИМ ЖЕ алгоритмом,но после МАКСИМАЛЬНОЙ оптимизации на ассемблере(подмена переменных регистрами).

Если бы компиляторы C выдавали такой же быстрый код,как и код написанный профессиональным ассемблерщиком,то неимелобы смысла создавать Колибри - ведь есть Линукс.


А что касается разработки,так для меня не составляет оссобой трудности думать на ассемблере.Да и разрабатывю я на нём довольно быстро.

P.S.
Я согласен,что ИНОГДА код,выдаваемый сишным компилятором очень оптимален,но это бывает только иногда.
А в Ассемблере - ВСЕГДА(если пишет опытный ассемблерщик).
Да и мусора в ассемблерном коде нет.

Это не пустое утверждение.Сравните скорость работы Колибри со скорость ОС написанных на С и поймётё,что я прав.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 27, 2006 10:33 pm 
Не в сети

Зарегистрирован: Пн май 01, 2006 10:12 pm
Сообщения: 349
Цитата:
Если бы компиляторы C выдавали такой же быстрый код,как и код написанный профессиональным ассемблерщиком,то неимелобы смысла создавать Колибри - ведь есть Линукс.

Мечты, мечты.. Иногда они сбываются ;)
Цитата:
Компилятор C хоть и подменяет некоторые переменные регистрами,но он не использует все регистры и не может организовать использование регистров самым оптимальным образом(это под силу только человеку).

Интересно было бы попробовать оптимизацию такого рода сообразить :)
Для таких целей вроде и есть асм вставки

Да, и MSVC имхо компактнее код даёт.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 27, 2006 10:55 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3929
andrew_programmer
Цитата:
В этом я убедился,когда сравнил скорость рисования геометрических примитивов в C и скорость рисования ЭТИМ ЖЕ алгоритмом,но после МАКСИМАЛЬНОЙ оптимизации на ассемблере(подмена переменных регистрами).
Конечно качество оптимизации зависит от алгоритма и от того как он реализован. Часто небольшие участки кода человек может написать лучше, но не всегда. В плеере есть функция test_wave() разбирающая заголовок wav файла и переводящая его в константу PCM_каналы_разрядность_частота. asm версия содержала кучу ветвлений. В Си версии компилятор сумел заменить часть ветвлений логическими и арифметическими операциями, я не разбирал детально как она теперь работает, но она работает быстрее. Если бы она вызывалась в цикле миллион раз разница была бы весьма заметна.
Если говорить об оптимизации ещё, то в коммерческом программировании важнее время разработки программы, возможность портирования и модифицирования кода, чем скорость его работы. Тот же mp3 плеер я сделал за три дня от поисков подходящего декодера до первого проигранного файла. Ещё три дня я исправлял странную ошибку. Всего разработка заняла меньше недели. Win прототип заработал через два часа. Asm плеер собирались сделать ещё год назад и наверное делают до сих пор. Отсутствие достаточного числа различных программ - главный тормоз в развитии системы.
И ещё.
Сравнивать Колибри с "тяжёлыми" системами некорректно. Многопользовательское многопроцессорное ядро с виртуальной памятью, и кучей сервисов не помещается на дискету. Стоило бы сравнить с QNX демо дискетой, к сожалению они её убрали.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 28, 2006 12:46 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн мар 20, 2006 10:44 am
Сообщения: 557
Если желаете портировать аську, то я думаю лучше начать с CenterICQ http://thekonst.net/centericq, особенно первой версии, там минимум сорцов, что ускоряет их понимание.
Описание протокола можно взять в пакете micq или здесь : http://iam.gorodok.net/icq091.txt
По поводу компиляторов могу предложить Intel C Compliller, очень хорошая оптимизация, правда он платный...


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 28, 2006 3:17 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт янв 27, 2006 3:06 pm
Сообщения: 1069
Открою один секрет: Hex уже выходил в асю из колибри! За основу он взял ym из дистрибутива. Правда глючит это дело пока, да и сам Hex последний месяц пропал куда-то (заработался/заучился совсем).


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пт янв 26, 2007 7:26 pm 
Ребят, не парьтесь с протоколом аськи, все это уже сделано и делается... Главное что нужно сделать - jabber клиент, а с его протоколом можно выйти в другие(icq, msn, yahoo, mail agent)


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Пт янв 26, 2007 9:35 pm 
Не в сети

Зарегистрирован: Чт янв 25, 2007 4:45 pm
Сообщения: 135
FAIM - Flat Assembler Instant Messenger
Многие инстант мессанджинговые пейджеры-монстры меряются всем, включая эквиваленты человеческих репродуктивных органов. Цвет, свет, размер, окрас, прочие прелести - вс¸ это вложено в основу для гордости у любого icq-клиента. И быть может этот клиент и не составит даже на гинетическом уровне конкуренцию монстрам, зато он реально маленький (~30кб) и с открытыми искодниками на ассемблере.

Скачать сам клиент + исходники можно тут: http://roticv.rantx.com/faim/download.html


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 29, 2007 5:01 pm 
Не в сети

Зарегистрирован: Ср май 18, 2005 7:27 pm
Сообщения: 1001
Serial, эта прога обсуждалась раньше. Проблема в строке import winsock,\
Прога заточена на использование виндового сетевого стека, а не нашего.


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 12, 2007 1:07 am 
ЛЮДИ!!!!!!!!!!!
ЗАЧЕМ???
МЫ уходим от "ОКОН" icq создавалась для винды зачем нам копировать её+подключаться к её каналу???
Мне кажеться что будет лучьше если мы запустим свою программу для обмена сообщениями!
кто за?


Вернуться к началу
   
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 12, 2007 1:25 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
Gagarin
Эхэхэ... Тут кто-то уже говорил: "Флаг в руки".


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Вт июн 12, 2007 1:30 am 
ну ты же сам понимаешь что одному это не осилить


Вернуться к началу
   
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 75 сообщений ]  На страницу Пред. 1 2 3 4 5 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB