|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | ||||
| 
 | ||||
|  "Урезанный" TClientSocket Может, и бред, но я всё же хочу знать: Я ОЧЕНЬ сократил модуль ScktComp, оставив там только TClientSocket и всё необходимое. Довёл его до наследника TComponent, убрав нафик всех промежуточных (с правильным переносом всех параметров и тд). Работоспособность идентична оригиналу, но я маленько урезал uses, вырвав из них только необходимое. Передо мной "делема": стоит ли урезать его дальше, исключая модуль SysUtils? Этот тяжеловес, согласен, сильно облегчит конечный модуль, но придётся очень долго всё переформировывать... То, что есть сейчас, приложил. | 
| 
			 
			#2  
			
			
			
			
		 | ||||
| 
 | ||||
|   Сразу скажу смысл всей этой "колбасы": мне нужен ЛЁГКИЙ и ШУСТРЫЙ модуль-сокетклиент. А, как известно, в Delphi 2 самых распространённых тяжеловеса - Forms и SysUtils. | 
| 
			 
			#3  
			
			
			
			
		 | ||||
| 
 | ||||
|   Как ни парадоксально, я это сделал! Может, криво, "чисто по русски", зато полностью работает, не включает никаких тяжеловесов и, ИМХО, стал даже несколько шустрее. | 
| 
			 
			#4  
			
			
			
			
		 | ||||
| 
 | ||||
|   Продолжаю линейку "анти-uses-SysUtils"ов, выкладываю модуль uThreadClass... Включает в себя всё необходимое для создания многопоточного приложения (TThread). Собственно, разница в консольном приложении - модуль Classes - 130Кб, uThreadClass - 51Кб. | 
| 
			 
			#5  
			
			
			
			
		 | ||||
| 
 | ||||
|   Осталось только по возможности код на ассемлерные вставки заменить и можно будет на Спектруме запускать.   Чего ради положен такой сизифов труд? На фоне сегодняшней производительности ПК и объемов жестяков, оперативки и 5 меговый файл не тормозит. Хотя честно скажу, самому нравится компактный код. | 
| 
			 
			#6  
			
			
			
			
		 | |||
| 
 | |||
|   Страдалецъ, вот когда у тебя на сервере будет куча прикладов, каждый из которых жрет по 2-3 лишних метра, тогда поймешь зачем это нужно. | 
| 
			 
			#7  
			
			
			
			
		 | ||||
| 
 | ||||
|   Ну тогда, лучше не плющить каждую по отдельности прикладу, а собрать их в одну. Компактнее в разы выйдет. | 
| 
			 
			#8  
			
			
			
			
		 | |||
| 
 | |||
|   Не совсем. Да и по другим причинам может не получиться. Например, если твое приложение выполняется в каждой сессии клиента на терминал-сервере. У тебя все равно будет стролько копий процесса, сколько пользователей. Вот тут размер каждой копии и начинает играть роль. | 
| 
			 
			#9  
			
			
			
			
		 | ||||
| 
 | ||||
|   Вот-вот, Imikle прав. Ведь на это дело меня сподвигло написание серверного приложения... А там надо будет запускать несколько (возможно, ДЕСЯТКИ) экземпляров... а сервер не очень мощный... Потому и изгаляюсь, как могу, ради каждого байта памяти... Последний раз редактировалось PhoeniX, 04.09.2009 в 17:24. |