Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012
Помог: 7 раз(а)
Всем доброго времени суток.
Написал я скрипт на php. Все работает все классно, душа радуется, времени еще 1,5 дня до сдачи проекта, вот думаю оптимизирую немного. В самое начало скрипта вставил две строки
Все нормально, записал данные времени, и используемой памятью. Приступил к оптимизации, прошелся по всему скрипту, кое-что поправил. кое что изменил. После оптимизации сверил данные до и после оптимизации, в итоге время выполнения скрипта почти не изменилось, а вот память на 13 kb уменьшалась. Круто, подумал я, и скинул скрипт на удаленный хостинг. И после того, как я увидел там цифры по выполнению скрипта, я немного выпал в осадок. Короче время не изменилось, а вот используемая память на хостинге ест в 2,7 раза больше. Как так??? Один и тот же скрипт съедает разное количество памяти на разных серверах??? На локальном у меня стоит apache 2.2, на хосте тоже. В чем прикол?
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
Гггг подобная фича, только с phpQuery
на локалке отлично находить елемент, а на хосте ну никак, хотя там ПХП поновее, но не сильно
dubasua
Отправлено: 29 Ноября, 2012 - 20:57:02
Посетитель
Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012
Помог: 7 раз(а)
пхп у меня поновее будет. Запросов к бд нет. Есть несколько include
esterio
Отправлено: 29 Ноября, 2012 - 21:04:39
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
Думаю все дело в архитектуре ОС. Могу ошыбатся, но если локалка у вас на винде то там стопудов NTFS, а хост на линуксе, а там файловоя система ext3 или какая-то там. Вот в линуксе на каждый файл разние права, думаю и скорость чтения больше. Ето только предположения. Могу ошыбатся
И еще одно припущения, скорость исполнения может зависеть от загружености системы. Может тут кроется тайна
П.С. не пинайте сильно, так-как я не бородатый сисадмин, и плохо разбираюсь в ФС
Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012
Помог: 7 раз(а)
esterio пишет:
скорость исполнения может зависеть от загружености системы
Вот скорость как раз одинаковая там и там. А на локалке у меня линь стоит. Файловая система ReiserFs. Правда какая на хостинге не скажу.
Мелкий
Отправлено: 29 Ноября, 2012 - 21:15:14
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Надо больше данных. Версии PHP, ОС, х86-32 или х86-64 архитектура.
----- PostgreSQL DBA
esterio
Отправлено: 29 Ноября, 2012 - 21:16:05
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
Ну тогда честно не знаю, а сколько раз пробовали тесты?
dubasua
Отправлено: 29 Ноября, 2012 - 21:24:31
Посетитель
Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012
Помог: 7 раз(а)
У меня стоит убунта 32-битная.
PHP 5,3 таи и там, у меня только на несколько мажоров больше. так как у меня скоробки чуть ли не каждый день обновление презжает.
хост сидит на x64, а ось не скажу. (Добавление)
esterio пишет:
а сколько раз пробовали тесты?
Да только то и делаю что страницу обновляю...
Мелкий
Отправлено: 29 Ноября, 2012 - 22:36:40
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
dubasua пишет:
хост сидит на x64
Ну вот тут двухкратную разницу словить вполне можно. Мне во всяком случае удалось, в консоли в равных версиях PHP
----- PostgreSQL DBA
dubasua
Отправлено: 29 Ноября, 2012 - 22:54:49
Посетитель
Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012
Помог: 7 раз(а)
Так это что? x32 в два раза продуктивней будет? Или я не правильно понял?
vanicon
Отправлено: 30 Ноября, 2012 - 00:19:08
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Цитата:
Так это что? x32 в два раза продуктивней будет? Или я не правильно понял?
По идее x64 должна быть продуктивней, но вот памяти жрет больше, так как там в 2 раза больше длина указателей.
Но насколько я знаю, то производительность x64 зависит от кол-во ram yf сервере, если <= 4 г то разница вряд ли будет...
----- Так было, так есть и так будет
dubasua
Отправлено: 30 Ноября, 2012 - 01:13:53
Посетитель
Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012
Помог: 7 раз(а)
Мне вот сейчас делать нечего, я сижу и играюсь. Например, я знаю два способа удаления переменной
А вы знали что второй способ обходится дороже на 166 байт? Или empty($var) дешевле чем $var == ''. Интересные вещи. (Добавление)
Все равно. вопрос остался не решенным.
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
dubasua, а сколько памяти используете?
возможно вся загвоздка как раз в том и состоит что у вас куча переменных, но данных в них очень мало, что как выше и сказали вылазит в большое выделение памяти на указатели, (Добавление)
dubasua пишет:
$$total_memory
а что это у вас за переменная такая интересная?
dubasua
Отправлено: 30 Ноября, 2012 - 03:25:46
Посетитель
Покинул форум
Сообщений всего: 454
Дата рег-ции: Апр. 2012
Помог: 7 раз(а)
Да это я выложил с ошибкой, там все путем.
DlTA пишет:
возможно вся загвоздка как раз в том и состоит что у вас куча переменных, но данных в них очень мало
Даже если это и так, все равно разница сильно большая. на локальном у меня все это дело занимает 32 кб, а на удаленке 84 кб.
EuGen
Отправлено: 30 Ноября, 2012 - 08:07:34
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
dubasua пишет:
unset($var); //Первый способ
$var = NULL; //Второй способ
Разумеется, второй способ "дороже", ведь Вы не уничтожаете переменную полностью. Во втором случае переменная остается на месте (в таблице имен), вот только значение у нее будет NULL. В данном случае некорректно
dubasua пишет:
дороже на 166 байт?
- так как "экономия" будет зависеть от длины имени ссылки. В первом же случае переменная уничтожается полностью - как ссылка, так и значение.
На x64 в теории размер используемой памяти будет больше, так как тот же int будет занимать больше байт. Но на практике нужно видеть код целиком, чтобы что-либо конкретное сказать.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.