Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Уменьшение веса php файлов |
Автор: Guide 30.7.2008, 07:34 |
Хотелось бы узнать есть ли программы которые удаляют комментарии, переносы строк и переименуют длинные пользовательские переменные и константы в короткие? |
Автор: ZuLLeR 30.7.2008, 07:54 | ||
Есть это руки))) а смысл объясни всего этого??? коменты я считаю нужны, что бы потом самому не напрягаться и знать что и где) а если длинные переменные то пиши их короче сам) а так <удалено!> есть такие проги или нет)
|
Автор: krundetz 30.7.2008, 08:12 |
Проги есть, преднаначины они для оптимизации в сторону уменьшения трафика, тоесть они пропускают через себя то что выдает на выходи скрипт и отправляют ео пользовательскому браузеру. Есть и проги которые делают это же с самими скриптами но помоему это неактуально в отичие от первого варианта. |
Автор: sTa1kEr 30.7.2008, 08:32 | ||
http://php.net/php-strip-whitespace
Добавлено через 1 минуту и 59 секунд С переименовыванием переменных я бы на вашем месте был поосторожнее, т.к. это может привести к неработоспособности кода. |
Автор: Guide 30.7.2008, 08:58 |
Данная прога нужна чтобы уменьшить размер файлов. Комменты и другие вещи не будут нужны. А насчёт переименовывания, думаю если прога умная, то не составит труда отличить одни переменные от других, пропускать резервированные переменные и не трогать операторы. |
Автор: skyboy 30.7.2008, 09:31 |
с каких это пор дисковая квота съедается РНР-скриптами? у тебя они на пару десятков мегабайт? если для закачки по ФТП, то можешь предварительно паковать в архивы. |
Автор: Guide 30.7.2008, 09:38 |
skyboy, У я сделал галерею. Кода получилось много. Весь скрипт весит 11.2мб |
Автор: bars80080 30.7.2008, 10:57 |
это ж сколько времени ты его набирал? |
Автор: Guide 30.7.2008, 11:05 |
2 месяца. Но вопрос не в этом. В проекте очень много комментарий. Чуть ли не на каждую функцию и констрункцию. Плюс ко всему почти все переменные имеют вид $contentDescription или $template-menuArray...думаю можно их сократить ло $cD или $t-mA... |
Автор: HackMan 30.7.2008, 11:35 |
11.2 мегабайта это имеется в виду скрипты + картинки на 11мб? А вот представь, что тебе понадобится добавить какую-нибудь функцию... Как думаешь, за сколько часов справишься?) Собственно, как убрать комментарии, sTa1kEr уже написал.А если так хочется поменять имена переменных - в любом текстовом редакторе Edit - Replace - All |
Автор: Guide 30.7.2008, 11:55 | ||
11мб php файлов!!! ![]() Мне просто больше не нужно будет возиться с этим кодом на серваке. А на локалке, есть backup... Так что хорошо бы найти прогу которая будет делать это всё автоматизированно.
А ты представь сколько там переменных!! ![]() Посоветуй тогда на Delphi как регулярками разрулить проблему с переименовыванием переменных...я сам набросаю прогу. |
Автор: bars80080 30.7.2008, 12:21 |
может крамолу для тебя скажу. но ты не пробовал сделать скрипт галлереи раз в 10-100 меньше. я вот смотрю реальный вес e107, mambo - 9, 9.5 Мб, но это ведь целая cms! со всеми их темплейтами и скинами |
Автор: ZuLLeR 30.7.2008, 12:30 | ||
хз это мат? Может я имел ввиду хто знает? ![]() |
Автор: americanets 30.7.2008, 12:51 | ||
Guide, eaccelerator , apc ...
ты не в битриксе работаешь ? ![]() |
Автор: krundetz 30.7.2008, 12:53 | ||
Да и их в размере можно здоров ужать но не за счет сокрашения символов а за счет более рациональной компоновки |
Автор: americanets 30.7.2008, 13:12 | ||
тогда советуй юзерам пользовать акселератор, он подрежет все ненужное при работе системы |
Автор: Mal Hack 30.7.2008, 13:34 |
А у вас скрипт на модули не разделен? Удаление пробелов, комментариев - нарушение технологии. Как вы потом что-то править будете. Если вы сделали программу, то не важно сколько она весит, главное чтобы она работала как надо и была оптимальной.. |
Автор: Fortop 30.7.2008, 13:36 |
Шутишь? Подскажи-ка что они делают? И, да, 200 символов в минуту * 60 минут * 24 часов * 60 дней = 16,47Мб ![]() Говоришь 16ч в день два месяца галлерею кодил? ![]() |
Автор: bars80080 30.7.2008, 13:57 |
да нет, много готовых классов, скриптов + своё, всё вместе - вот и результат. но всё равно, чересчур |
Автор: Guide 30.7.2008, 14:01 | ||
Нет конечно, до этого у меня были свои наработки...я просто за два месяца всё своё и чужое собрал в кучу. Mal Hack, Я же говорю что править на серваке не буду. Если что на локалке. А потом выгружу на сервак. Нормальный и читабельный код у меня будет под рукой...
Да наверно перебрал, через месяц проведу оптимизацию кода, урежу все лишние строки. А пока нужно сжимать. |
Автор: Mal Hack 30.7.2008, 14:09 |
Guide, не нужно ничего сжимать. Это асбурд. Либо ошибка проектирования, либо не разбиение на модули... Сжиманием подобным, вы добьетесь сжатия максимум на 5-6%... Это нонсенс... |
Автор: Fortop 30.7.2008, 14:15 | ||
Боюсь там нет лишних строк. Mal Hack, прав. Скорее всего ошибка в проектировании. |
Автор: Gold Dragon 30.7.2008, 14:26 |
и то при условии хорошего комментирования ![]() |
Автор: Guide 30.7.2008, 14:27 |
Mal Hack, Fortop, ![]() Если бы ошибка в проектировании. У меня всё разделено на модули. Просто сколько один арбуз весом 10кг не дели на кусочки, всё равно весить она будет 10кг. ![]() Так что сжатие хочу! ![]() |
Автор: Mal Hack 30.7.2008, 14:32 |
Вы меня извините, конечно, но это как отче наш. Я готов поспорить, что у меня EXE с теми же функциями на сях будет весить в два раза меньше вашего скрипта... У вас очевидная ошибка проектирования. Уж в чем она выражена - второй вопрос. |
Автор: Gold Dragon 30.7.2008, 14:43 |
ну ведь в любос случае что запускается и обрабатывается не все 11 метров, 11 - это весь проект, а реально работает не так уж и много. И неужели сервер такой медленный что сокращение размера на 5% это значительно ускорит? |
Автор: Guide 30.7.2008, 15:54 |
В общем всем спасибо. Попробую сам найти. |
Автор: skyboy 30.7.2008, 16:02 |
с обфускацией под РНР неплохо должен справляться http://www.zend.com/en/products/guard/ из Википедии узнал про http://www.phpdefender.com/ и http://pobs.mywalhalla.net/. но право слово, я советую сначала проанализировать собственный код на выявление часто используемых алгоритмов, не вынесенных в отдельные функции. |
Автор: sTa1kEr 30.7.2008, 22:17 | ||
Переименуйте переменный и логика приложения будет нарушена. У вас вся логика построена на копи-пасте? По моему, это единственный случай когда такое возможно. |
Автор: krundetz 31.7.2008, 14:53 | ||
А вот сдесь вы абсолютно неправы и сравнение ваше в корне неверно. Деление на модули подразумевает как раз что один модуль может использовать другой модуль для выполнения каких то операций если они(операции в нем реализованы), а не дублировать уже имеющийся функционал. Тоесть уже созданный функционал одного модуля может многократно использоваться в других. В общем деление на модули это намного более абстрактная вешь чем разрезание окорока на части. С десь более подходит сровнение с использованием в машиностроение стандартных крепежных элементов, тоесть если вы имеети болт диаметром столько то с шагом резбы столько то в одной конструкции и он у вас по какимто причинам испортился то вы можете сходить в магазин и сказать мне вот такой и такой то болт нужен, и выпушеный совершенно другой компанией этот болт встанет на место как родной. В программирование это называется API. Не забывайте что программирование это инженерная дисциплина. И сдесь сильна унификация. Иоесть зачем мне разрабатывать новое если здесь будет прекрасно работать старое. |
Автор: Fortop 1.8.2008, 09:27 | ||
Не совсем. Мы тут вчера подумали, и решили... что модуль распознавания речи, а также блондинок и брюнеток в видеорядах - если он написан на чистом PHP - может иметь такие размеры... |
Автор: Fiyanov 4.8.2008, 11:47 |
По теме: Сокращение имени переменных конечно поможет выиграть килобайты, а в вашем случае может и мегабайты... НО! Дело в том что исходный ведь код РНР не передаёться клиенту!!! Он не качает ваши длинные переменные! Их обрабатывает только РНР интерпритатор! Поетому это всё ГОН если вы думаете, что намного быстрее скрипт заработает с переменными обладающими коротким наименованием. Это бред. Спасибо. Добавлено через 1 минуту и 23 секунды На паскале напишите прогу которая парсит тхт файл, удаляет закоментаринные строчки и пустые строки и всё... Добавлено через 1 минуту и 57 секунд Или на РНР и напишите... он в парсинге силён... |
Автор: bars80080 4.8.2008, 12:05 | ||
|
Автор: HackMan 4.8.2008, 20:03 |
Интересно, для какого (даже халявного) сервера критичны скрипты на 11 мб, при том,что эти скрипты будут работать с графикой, которая, наверняка, будет храниться по соседству? |
Автор: bars80080 4.8.2008, 20:22 |
для меня критичны были бы. я даже боюсь узнать, сколько всего у меня на бесплатном хостинге места. особенно учитывая, что я туда уже закидал мегов 70 фоток, и то вовремя остановился, а так бы ещё 300 запульнул вообще 11 мегов скрипта на галлерею предполагает раздутость остального кода |
Автор: Fiyanov 5.8.2008, 09:14 | ||
Всё равно ГОН. Клиенту пойдёт только HTML. Если у него 12 метров вычислений (И вправду размер улыбает) то беспокоиться за трафик не стоит. За место может и стоит. Мне кажеться что у автора весь сайт весит 12 метров... 12 метров текста - это извините меня художественное произвидение уже. ![]() |
Автор: bars80080 5.8.2008, 09:23 | ||
знаешь, у меня дома 10кБ/с скорость, это значит заливать через фтп в лучшем случае придётся 20 минут. а если несколько раз? я б заманался |
Автор: HackMan 5.8.2008, 09:28 |
bars80080, советую пользоваться архиваторами ![]() Целые сайты в архиве заливаются одним файлом, что через FTP в сто раз быстрее, чем заливать каждый скрипт по отдельности и сводит вероятность раъединения соединения к минимум. А потом остаётся пустяковое дело - разархивировать это всё. Разархивация, как правило, выполняется практически мгновенно, даже если сайт состоит из сотни скриптов. И набор скриптов на 10 мб будут занимать в архиве не более 100 кб. Зальются за 10 сек ![]() |
Автор: bars80080 5.8.2008, 09:48 |
да? а можна поподробней, ибо gzip у меня точна не работает, как там реализовать процедуру? хотя я кстати, скрипты метрами не загоняю, а вот jpg, что архивируй, что не архивируй... |
Автор: HackMan 5.8.2008, 10:15 | ||
Про jpg речь не идёт. Тут грозились, что 12 мб - это чисто кода ![]()
Ну кроме gzip существуют ещё bzip и zip, как минимум ![]() Как вариант - http://php.net/zip У меня есть скрипт (точнее 2 файла), реализованный на php, который разархивирует обычный zip-архив. Если интересно - могу скинуть в PM |
Автор: Fiyanov 6.8.2008, 06:51 | ||
![]() |