соучастник
25.09.2013 - 14:57
Всем привет. Вопрос к профи
проект должен минимально потреблять память поэтому
допустим ли следующий подход к разработке?
Есть файлики с функциями, определенный скрипт их читает и далее сам строит объект, и объект запускается через eval.
В результате получается, что экономиться память на родительских объектах, помимо прочего функционал собирает объект под текущую задачу, а значит лишних функций новособранный объект не несет
допустим ли такой подход?
eval много ест но с учетом того что статичный класс может быть отягощен лишними функциями получается что память с eval все равно в выигрыше
можно предложить 3 вариант поделить объект на под объекты решающие каждый свою задачу и вызывать каждый объект при необходимости
что скажут знатоки?
пример кода показал бы, а то звучит как бред
блин его еще написать нужно это огого
фактически это запросы к базе данных
рассмотрим пример
1) идет запрос на сервер где $_GET['action']= 'insert'
2) скрипт определяет есть ли в папке с функциями файлик под названием insert, там и лежит наша функция, если файлик есть читает его содержимое в переменную $text.
3) далее происходит что то вроде
$obj = "class modulBase{".$text."}";
4) eval и запуск функции в объекте
почитай про автозагрузку классов что ли ...
bestxp
25.09.2013 - 15:27
какой бред, а что тебе мешает иметь несколько маленьких файликов с классами под каждую операцию ?))
а не заниматься говностроем)))
bestxp
таким образом вы говорите о 3ем варианте на который я указал во втором коменте, да это возможно но нужно понимать что его инклудинг займет память, класс сам займет память а потом еще и созданный объект возьмет свйо кусок, поэтому и не понятно что выгоднее или инклудить классы-операции или собирать объект и оживлять его через евал
Invis1ble
25.09.2013 - 15:36
если вам так критична память, то вы выбрали не тот язык, имхо
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
ну право я же не спрашиваю тот или не тот язык я спрашиваю как логичнее и экономичнее, читал я про автоинклудинг
bestxp
25.09.2013 - 16:10
да блин, этооо брееееед, бред который только мог придти в голову ...
Какая блин разница если твой скрипт съест 1 мегабайт или 1.2 мегабайта, при этом пострадает время загрузки, читабельность кода, сложность в поддержании, и сложность в рефакторинге.
притом чем же займет инклудинг одного класса, от такой же операции чтения файла, и потом его eval ?
Не ну серьезно, почитай про psr-0 стандарт автозагрузки тогда, и не городи огород, притом инклуд был медленным в стародавние времена, если использовать актуальную версию php где внутренности все давно оптимизированы, то и вопросов у вас не будет, и тем более таких идей
Если не устраивает память и скорость работы, то попробуй Zephyr или пиши код по hip hop vm
оживлять объект через eval. Как звучит! Что только наш брат ламер не придумает.
bestxp
по тестировал некоторые моменты и склоняюсь к мысли о разбиении основного класса на классы-задачи с последующим инклудингом
>Какая блин разница если твой скрипт съест 1 мегабайт или 1.2 мегабайта
это пипец какая разница, не для обычных сайтов, а для того что работает на облаке, и с учетом того, что однажды поисковики научатся читать аджакс это разница станет существеной для всех.
не хочется вдаваться в подробности, но базовая стоимость ежедневных расходов проекта после оптимизации сократилась в 4 раза и сократиться еще и это точно вопрос лишь в том как правильно выстроит новую структуру.
>притом чем же займет инклудинг одного класса, от такой же операции чтения файла, и потом его eval ?
да eval ест больше, но при условии использования маленьких классов, т.е. в принципе получается в таком случае использовать include
Zephyr или пиши код по hip hop vm
а это-то здесь причем
многое зависит от проекта но даже моя параноя до оптимизации и минимизации затрат под час меркнет пред всякого рода хешированием и ускорением
создать систему cms что бы потом ее кэшировать, в ряде случаев это выглядит как построить дом из кирпича и подпереть стену деревянным столбом
если бы пых мог отсеивать из памяти часть ненужного функционала это было бы просто оболденно
bestxp
25.09.2013 - 19:28
всё можно, компилируй с нужными модулями сам php
используй последние версии языка
уделяй время рефакторингу и не будет проблем
не нужно выдумывать ничего велосипедного,
облака , облака, кластеры блин ! xD
bestxp
что выгоднее юзать в плане памяти объекты или массивы?
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.