PHP+Memcached - hi-load

Gas

может по одной?
если не ошибаюсь, twitter изначально был на ruby, до переезда на scala нагрузку держал уже немаленькую, у basecamp'а рейтинг в алексе 487, не 141 как у *****, но тоже ничего ;)
 

HraKK

Мудак
Команда форума
Ruby не означает ООП. Ruby !== RoR.
То есть не один hi-load PHP проект не работает на ООП?
 

HraKK

Мудак
Команда форума
tz-lom
Будьте любезны аргументируйте свою точку зрения. Без аргументации тут можно бросать такие вызовы когда вас знают.fisher
fisher
Чем он провоцирует? Отсутствием нормальной ООП модели? Ну я думал, ты встречал.
 

tz-lom

Продвинутый новичок
HraKK
ок,аргументы:
1- "работает на ООП" это не термин,можно работать с применением ООП,можно без,если имеется ввиду сферический ООП без функций в принципе то ну вы понели
2- ООП не серебрянная пуля и не всегда решение без ООП - кривое || некрасивое || неправильное

если вы хотели спросить есть ли HighLoad проекты без колбасни и адского кода ,то я подозреваю что нету
fisher
я думаю руби провоцирует только холивары
 

HraKK

Мудак
Команда форума
tz-lom
А я думаю, тебе нужно немного помолчать, ну хоть с полгодика, а не лезть со своими советами и нравоучениями ко мне. Либо не домысливать и не искать тот глупый смысл что вы ищите в моих словах.

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

2 Amdy, не дискриминация. А объективный взгляд на вещи.
 

craz

Нестандартное звание
блин вот у вас споры всегда про ООП...

чем ООП хуже чем любая другая ПРАКТИКА программирования? в любой программе есть "бутылочные горлышки", и их поиск и отладка, может проходить как в ООП коде так и в лапше.

Проект hi-load так же может быть написан на ООП как и не hi-load, но при этом будет прост в рефакторинге, не фига не глючнее того же функционала без ООП, так как тестов на лапшу я так понимаю не бывает. Короче hi-load зачастую это очень короткие временные рамки - я не думаю, что создатели twitter не думали о такой популярности при проектировании первого прототипа, а его популярность росла с лавинообразной скоростью, поэтому я уверен там настолько захардкодженные вещи есть, которые хоть и не позволяют проекту упасть под hi-loadом, но и не добавляют удобства при разработке нового функционала..

Короче отрицать ООП как вполне живую, нормальную, быстро развивающуюся практику по меньше мере одно и тоже, что отрицать существование бога, вроде вот так живешь "Бога нет!", а потом как прихватит он тебя за яйца будешь знать)
 

tz-lom

Продвинутый новичок
тесты на лапшу бывают,это метрики кода
спорим мы про ООП потому что это:
1-интересно
2-весело
3-сталкиваемся каждый день
P.S.
никто ООП не отрицает,в отличии от бога,в конце концов god-object это антипаттерн
 

HraKK

Мудак
Команда форума
craz
Не то. Я хочу оценить так ли критичен тот overhead что создает ООП на пхп для hi-loada. Имхо, я считаю что нет, и пару лишних тазиков не будет стоить столько же сколько время программистов. Конечно это не относиться к проектам маштаба facebook а там имхо стоит уже переходить на компилируемые языки с ООП.
 

craz

Нестандартное звание
craz
Не то. Я хочу оценить так ли критичен тот overhead что создает ООП на пхп для hi-loada. Имхо, я считаю что нет, и пару лишних тазиков не будет стоить столько же сколько время программистов. Конечно это не относиться к проектам маштаба facebook а там имхо стоит уже переходить на компилируемые языки с ООП.
про компилируемые +1

я извиняюсь я не понимаю в чем оверхид ООП в сравнении с лапшой? можно подробнее что за "страхи" такие?
 

HraKK

Мудак
Команда форума
AmdY
да это я каг бы читал, ниже мой комментарий, а вот реальный hi-load, не знаю что там у fixxxera за проект.

craz
Процедурно всяко быстрее чем ООП, но я считаю что не "критично" но хотелось бы иметь ответ на извечный вопрос программистов.
 

craz

Нестандартное звание
та почему быстрее?

PHP:
fucntion foo($a){
 echo $a;
}
foo("fuck");
это быстрее чем:
PHP:
class Says {
 static fucntion foo($a){
   echo $a;
  }
Says::foo("мегаFuck");
и если да то почему?
 

AmdY

Пью пиво
Команда форума
craz
в твоём примере не инстанцируется объект, а класс выступает в роли нэймспэйса.
 

craz

Нестандартное звание
PHP:
class Says {
 public fucntion foo($a){
   echo $a;
  }
$obj = Says();
$obj->foo("мегамегаFuck");
а так?
 

AmdY

Пью пиво
Команда форума
craz
ну, умными словами я тебе не отвечу, лучше посмотри сам
PHP:
function foo($a) {
	echo $a;
}

class Says {

	public function foo($a) {
		echo $a;
	}

}

$start = microtime(true);
for ($i = 0; $i < 1000; $i++) {
	$obj = new Says();
	$obj->foo("мегамегаFuck");
}
$timeObject = $start - microtime(true);
$start = microtime(true);
for ($i = 0; $i < 1000; $i++) {
	foo("мегамегаFuck");
}
$timeFunction = $start - microtime(true);
var_dump($timeObject / $timeFunction);
 

craz

Нестандартное звание
у меня кешер не стоит не какой... посмотрел в 1.6 раза дольше(в первый раз, потом один раз даже 0.6 было...)... но это мы по сути инстанцируем если инстанцирование одноразовое то 1.15(вот даже че выдало в какой то из разов 0.084189398095)

и как быть с этими данными?

Я реально не понимаю...

Я понимаю нужно время на создание объекта, но дальше после того как он создан, какие затраты чтобы из него вызвать функцию? Сравнимы ли они просто с вызовом функции?
 

MiksIr

miksir@home:~$
Изначально можно делать так, что бы слабые места прикрывались тем или иным кешом, а он все-равно понадобится рано или поздно. Тогда оверхед от объектов даже при активном использовании ORM особо и не страшен. А места, которые сложно прикрыть кешом рано или поздно вообще уходят из ПХП во что-то компилируемое.

PS: А может кто разделит тред?
 

HraKK

Мудак
Команда форума
если инстанцирование одноразовое
То погрешность все убьет. Если ты 1 раз выйграл в лотерею, ты всегда будешь в нее выигрывать?
Я понимаю нужно время на создание объекта, но дальше после того как он создан, какие затраты чтобы из него вызвать функцию? Сравнимы ли они просто с вызовом функции?
Сравнимы, но тоже медленнее.

MiksIr
Надо ли? По 1 вопросу все решили, второй что сейчас обсуждаем никому кроме меня не нужен.
 
Сверху