phorror ([info]phorror) wrote,
@ 2007-03-07 15:15:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:курьезы

Нереальная красота. Такого я никогда не испытывал. Шок.
кто хочет посмотреть историю в развитии - милости прошу по ссылке.
http://phpclub.ru/talk/showthread.php?s=&threadid=97284
Для истории изложу кратко здесь:

На форум пришёл человек.
С проблемой:



Коллеги, помогите!
Администратор заблокировал сайт моего заказчика, по статье п.1.1:

1.1 инициировать какие-либо процессы на сервере, любой из которых занимает более 16МБ оперативной памяти Системы, а также суммарно более 5% всех доступных Системных ресурсов в любой момент времени;

Пожалуйста подскажите мне: Как уменьшить нагрузку на сервер, оперативную память?
1. Может удалять переменные после их использования?
2. Может уменьшить время жизни сессий
3. Не использовать функции типа "Preg_replace"



далее идёт долгая беседа о гадскости хостера и методах оптимизации.
рассказывается об установке пхп5 для кэширования.
из информации, предоставленной хостером, выясняется, что дольше всего работает функция photo.php
выясняем. оказывается - ничего особенного - определяет размер картинки.
странно. Ну нельзя же загрузить определением размера картинки сервак по самую макушку! Даже если читать её всю в память целиком!

и тут... аффтар выдаёт код функции. привожу полностью
*барабанная дробь*


include( 'includes/systems/header.inc' ); #Подключение Заголовка

@list($wdth,$hght) = getImageSize( $_GET['photo'] );

while( ( $wdth > $_SESSION['wdth']-100 ) || ( $hght > $_SESSION['hght']-100 ) ){
$wdth = $wdth / 1.00001;
$hght = $hght / 1.00001;

}
# echo $wdth . 'x' . $hght ;
# $hghtP = $hght - 85;
# $wdthP = $wdth - 85;
$hghtP = $hght;
$wdthP = $wdth;


@$prms = ( $wdth > $hght )? 'width=' . (int)$wdthP: 'height=' . (int)$hghtP;
# echo $wdth . 'x' . $hght;



Я в непередаваемом восторге!



(Post a new comment)


[info]cgvictor
2007-03-07 12:28 pm UTC (link)
Ржал в голос =)

(Reply to this) (Thread)


[info]phorror
2007-03-07 12:37 pm UTC (link)
удалять переменные после использования!
сократить применение Preg_replace!

чувак объявил решительную войну расходу процессорного времени!

не. я всегда считал анжелу с порватым сикелем бесспорной фавориткой сетвеого идиотизма.
Но этот безымянный герой порвал меня, как макрофлекс - анжелин сикель

(Reply to this) (Parent)(Thread)


[info]cgvictor
2007-03-07 12:53 pm UTC (link)
Супер. О*уепипельнейший код.

Интересно, что там происходило, когда значения становились граничными 100 :D))))
Когда у нас там в PHP5 дельта икс равно иксу? на восьмом знаке?

У товарисча явно нет даже базовых представлений о его вычислениях...

(Reply to this) (Parent)(Thread)


[info]smallkaa
2007-03-07 12:59 pm UTC (link)
А ведь было предположение - "Он у тебя что - целиком картинку в память грузит и попиксельно пересчитывает..."

Жизнь всегда круче любых теорий :)

(Reply to this) (Parent)


[info]besm6
2007-03-07 02:35 pm UTC (link)
О вычислениях, может, и есть. А вот о том, зачем они производятся...

(Reply to this) (Parent)


[info]smallkaa
2007-03-07 12:50 pm UTC (link)
"ОТВЕТИТЬ и ЦИТИРОВАТЬ"


впрочем даже и не очень-то понятно, что ответить-то

(Reply to this) (Thread)


[info]phorror
2007-03-07 12:57 pm UTC (link)
отвечать там можно и не надо, а вот цитировать шедевральный код приближения размера к искомому - можно и нужно!

(Reply to this) (Parent)(Thread)


[info]smallkaa
2007-03-07 01:06 pm UTC (link)
он очень аккуратный программист, наверное. Понемногу приближается, чтоб не проскочить чего.
У меня такое было: девочка пришла - говорит, мол, моя программа работает, только медленно.
Смотрю: 1я лаба - вычислить Пи методом Монте-Карло (это сделано) 2я Лаба - построить график функции в полярных координатах (тут грабли). Оказалось, девочка не стесняясь использовала функцию вычисления Пи вероятностным способом с туевой хучей интераций внутри (вероятностный алгоритм) на каждой итерации (считай каждой установке пикселя)...

(Reply to this) (Parent)


[info]symbi
2007-03-07 12:59 pm UTC (link)
блядь, у меня даже матерных слов не хватает :) ржу просто.

(Reply to this)


[info]lanka
2007-03-07 01:05 pm UTC (link)
УБИЛ. ТРАХНУЛ. СЪЕЛ.
ААААААААААА!!!!!
не, правда, так не бывает!!!

(Reply to this)


[info]bad_pig
2007-03-07 01:35 pm UTC (link)
Не, тема-то смешная... Но интересно - кто нибудь ему объяснит все-таки в чем его ошибка? =)

(Reply to this) (Thread)


[info]besm6
2007-03-07 02:36 pm UTC (link)
Интереснее было бы выяснить, в чем у него нет ошибки...

(Reply to this) (Parent)


[info]scoon_the_crazy
2007-03-07 02:06 pm UTC (link)
Изысканное наслаждение... :)

(Reply to this)


[info]tsv
2007-03-07 02:25 pm UTC (link)
"читая сие плакаль"
"в мемориез адназначна!"

(Reply to this)


[info]max_gashkov
2007-03-07 02:43 pm UTC (link)
Он гений!

(Reply to this)


[info]_strngr
2007-03-07 08:54 pm UTC (link)
Тупил минут пять, глядя на код. После примера проверки булевской переменной, приписываемой индусам, я уже ничему не удивляюсь...

(Reply to this) (Thread)


[info]phorror
2007-03-08 07:30 pm UTC (link)
Ну, здесь, как правильно заметили на форуме, в основном хороша драматургия.
Сначала идёт крутой замес с гадским хостером, потом подозрение на то, что картинка ресайзится на лету, и финал - просто цикл на несколько сот итераций!
На фоне тех усилий по оптимизации, которые чувак хотел предпринять, смотрится гениально

(Reply to this) (Parent)(Thread)


[info]_strngr
2007-03-08 08:46 pm UTC (link)
Да, согласен! Тут есть сюжет и характеры главных героев. %)))

(Reply to this) (Parent)


[info]babarama
2007-03-07 09:35 pm UTC (link)
А чего - кодер МЕДЛЕННО приближается к совершенству.

(Reply to this)


[info]heavywave
2007-03-08 02:57 am UTC (link)
я так и не понял, что кодер хотел сделать этим кодом :)

(Reply to this) (Thread)


[info]kruglov
2007-03-08 05:53 pm UTC (link)
Ему нужно уменьшить картинку, сохранив пропорции. Вот он и уменьшает помаленьку.

(Reply to this) (Parent)(Thread)


[info]phorror
2007-03-08 07:26 pm UTC (link)
Даже не саму картинку уменьшает, а просто размеры. цифры. Методом последовательного приближения.

(Reply to this) (Parent)(Thread)


[info]proforg
2007-11-17 11:53 am UTC (link)
да, жаль что на каждой итерации картинку не ресемплит

(Reply to this) (Parent)


[info]heavywave
2007-03-09 04:49 am UTC (link)
креативный чувак. я бы такое ни за что не придумал :-)

(Reply to this) (Parent)


[info]n_changed
2007-11-27 03:54 pm UTC (link)
=)))))))))
помаленьку))))

(Reply to this) (Parent)


[info]bchgroup
2007-11-09 08:00 am UTC (link)
каГ такое можно было придумать?

(Reply to this)


[info]n_changed
2007-11-27 03:53 pm UTC (link)
убило))
такой бесмысленной логики давно не видел )))

(Reply to this)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…