|
|
|
|
|
для: Fix
(12.02.2014 в 22:03)
| | Почему? | |
|
|
|
|
|
|
|
для: psychomc
(11.02.2014 в 13:22)
| | psychomc ,
данный способ не совсем корректно отображает расходование памяти. | |
|
|
|
|
|
|
|
для: FiX
(11.02.2014 в 12:31)
| |
<?
$start_time = microtime(true);
$start_mem = memory_get_usage();
// do...
$end_time = microtime(true) - $start_time;
$end_mem = memory_get_usage() - $start_mem;
|
| |
|
|
|
|
|
|
|
для: добряк
(10.02.2014 в 22:46)
| | добряк,
спасибо за ответ! Примерно такое я и ожидал услышать. Я догадывался что использование массивов чем-то обосновано. Теперь появилась ясность... :)
Единственное - надо будет понять, сколько именно памяти выделяется изначально. Ведь потом она расширяется по мере необходимости.
Одно дело если переменное присваивается просто TRUE, а другое - текст состоящий из 5000 символов...
Надо будет самому научиться ставить эксперименты :) | |
|
|
|
|
|
|
|
для: FiX
(10.02.2014 в 15:27)
| | Вы не можете ставить вопросы, ибо это уже ваши проблемы разработки. | |
|
|
|
|
|
|
|
для: fix
(09.02.2014 в 20:40)
| | Я не совсем разбираюсь, но тут выпадает момент создания класса и загрузки памяти которая не нужна.
У массива вы сразу грузите память.
В классах вы РЕЗЕРВИРУЕТЕ память
Мне кажется если физические мощности одинаковы, то массивы ЧАЩЕ быстрее, хотя это мелочи и играют роль при ограниченных физических рессурсах.
Поэтому!!.
Ваши эксперименты ИСТИННЫ только в ВАШИХ физических условиях.
Нельзя ответить кто быстрей верблют, козел или лошадь, если не учитывать внешние условия.
В горном ландашафте быстре козлы.... | |
|
|
|
|
|
|
|
для: FiX
(10.02.2014 в 15:58)
| | php 5.4 в принципе работает лучше, т.е быстрее более старых версий. почему - погуглите.
по поводу скорости массивов и объектов http://stackoverflow.com/questions/2193049/php-objects-vs-arrays
If you're using PHP5 then difference between objects or arrays almost is not significant
надеюсь, теперь понятно | |
|
|
|
|
|
|
|
для: psychomc
(10.02.2014 в 15:52)
| | PHP 5.4+ работает лучше с объектами?)
Да, нравится делать так. Тем не менее было бы интересно узнать какое решение будет работать быстрее.
Спасибо за ответы. Может еще кто-нибудь отпишется со своими мыслями :) | |
|
|
|
|
|
|
|
для: Fix
(10.02.2014 в 14:41)
| | я кажется всё более-менее понятно написал...кстати, база данных используется в 99% проектов. короче, такой подход не вреден, нравится делать так - делайте. разницы скорее всего не почувствуете совсем. если хотите, чтобы производительность выросла, переходите на php 5.4 + | |
|
|
|
|
|
|
|
для: confirm
(10.02.2014 в 14:49)
| | "В чем суть вашего вопроса -... " - в теме так и говорится "что работает быстрее".
Я же говорю. В IDE данные объектов выводятся сразу. А массив - не выводится.
Вы работаете в IDE? Если да, то наверняка пользуетесь автокомплитом при работе классами и методами.
Например, пишете
$articles = new Articles();
$articles->... //и вот тут IDE сразу выдает какие методы есть у класса.
|
Знакомо?
Так вот точно такой же принцип при работе, например, со статьей. Например, этот самый класс имеет метод get_articls_list.
class Articles{
publib function get_articles_list(){
$result = array();
// получили все статьи
while ($article = mysql_fetch_array()){ // пишу тупо чтобы было понятно
$article_item = new Article_item();
$article_item->name = $article['name'];
$article_item->description = $article['description'];
$article_item->text = $article['text'];
$result[] = $article_item;
}
return $result; // возвращаем массив, состоящий из объектов
}
}
class Article_item{
public $name;
public $description;
public $text;
}
|
Разбираем полученный массив
foreach ($result as $article_item){
print $article_item-> // вот тут уже при написании нам выдастся автокомплит.
}
|
Что это дает? То что не придется помнить все переменные и их написание. Даже если вернуться к проекту через 5-6 месяцев, не придется вспоминать какие же параметры доступны для статьи.
Повторяюсь: речь не только о данных, полученных с БД. Тут также может быть и константы (опубликовано/не опубликовано), какие-то расчеты типа "дата/время архивирования статьи", которое вычисляется в коде, и т.д.
Данный метод помогает нам, в команде нескольких разработчиков, знать что есть у каждого элемента и не копаться в чужом коде. Вот и все.
Надеюсь донес свою мысль.
Скриншот с IDE скинуть пока не могу - занят процессом)) Как докачает скину если нужно. | |
|
|
|
|