Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Исходники и статьи
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.07.2009, 05:22
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию "Урезанный" TClientSocket

Может, и бред, но я всё же хочу знать:
Я ОЧЕНЬ сократил модуль ScktComp, оставив там только TClientSocket и всё необходимое. Довёл его до наследника TComponent, убрав нафик всех промежуточных (с правильным переносом всех параметров и тд). Работоспособность идентична оригиналу, но я маленько урезал uses, вырвав из них только необходимое.
Передо мной "делема": стоит ли урезать его дальше, исключая модуль SysUtils? Этот тяжеловес, согласен, сильно облегчит конечный модуль, но придётся очень долго всё переформировывать...
То, что есть сейчас, приложил.
Вложения
Тип файла: rar MyClientSock.rar (4.7 Кбайт, 23 просмотров)
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #2  
Старый 18.07.2009, 05:25
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Сразу скажу смысл всей этой "колбасы": мне нужен ЛЁГКИЙ и ШУСТРЫЙ модуль-сокетклиент. А, как известно, в Delphi 2 самых распространённых тяжеловеса - Forms и SysUtils.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 18.07.2009, 06:33
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Как ни парадоксально, я это сделал! Может, криво, "чисто по русски", зато полностью работает, не включает никаких тяжеловесов и, ИМХО, стал даже несколько шустрее.
Вложения
Тип файла: rar MyClientSock2.rar (11.9 Кбайт, 42 просмотров)
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #4  
Старый 31.08.2009, 12:11
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Продолжаю линейку "анти-uses-SysUtils"ов, выкладываю модуль uThreadClass... Включает в себя всё необходимое для создания многопоточного приложения (TThread). Собственно, разница в консольном приложении - модуль Classes - 130Кб, uThreadClass - 51Кб.
Вложения
Тип файла: rar uThreadClass.rar (13.8 Кбайт, 24 просмотров)
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #5  
Старый 01.09.2009, 08:18
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Осталось только по возможности код на ассемлерные вставки заменить и можно будет на Спектруме запускать.
Чего ради положен такой сизифов труд? На фоне сегодняшней производительности ПК и объемов жестяков, оперативки и 5 меговый файл не тормозит.
Хотя честно скажу, самому нравится компактный код.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 01.09.2009, 09:31
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Страдалецъ, вот когда у тебя на сервере будет куча прикладов, каждый из которых жрет по 2-3 лишних метра, тогда поймешь зачем это нужно.
Ответить с цитированием
  #7  
Старый 01.09.2009, 10:15
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Ну тогда, лучше не плющить каждую по отдельности прикладу, а собрать их в одну. Компактнее в разы выйдет.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 01.09.2009, 12:01
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Не совсем. Да и по другим причинам может не получиться. Например, если твое приложение выполняется в каждой сессии клиента на терминал-сервере. У тебя все равно будет стролько копий процесса, сколько пользователей. Вот тут размер каждой копии и начинает играть роль.
Ответить с цитированием
  #9  
Старый 04.09.2009, 17:21
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Вот-вот, Imikle прав. Ведь на это дело меня сподвигло написание серверного приложения... А там надо будет запускать несколько (возможно, ДЕСЯТКИ) экземпляров... а сервер не очень мощный... Потому и изгаляюсь, как могу, ради каждого байта памяти...
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj

Последний раз редактировалось PhoeniX, 04.09.2009 в 17:24.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter