Цикли

djman каза:
Ами пусни го и виж

composer create-project symfony/framework-standard-edition testproject

http://localhost/testproject/web/app_dev.php - долу, цъкни някъде и ще те отведе в страницата.

:)

Иначе, дава ти детайли за request-a (get, post, атрибути, сесии), exceptions, events, лог, информация от рутера, информация за рендернатите views, заявки към базата данни... Тези неща са от значение. Статистиките, които искаш да изкараш са интересни, но за 2 секунди. Лично аз бих казал "хе, имам 1024 реда код" и ще продължа да пиша 1025-тия. :)

А и от гледна точка на "правилност" (има ли такава дума??), защо си наблъскал всичко в 1 функция? Имаше нещо за strong/high cohesion при методите (т.е. 1 метод прави 1 нещо)
Да но не използвам метод а просто съм създал функция в глобалният файл и тя става глобална за приложението. getAppPerformance - така съв я кръстил. Връщам масив с данните. За "request-a (get, post, атрибути, сесии), exceptions, events, лог, информация от рутера, информация за рендернатите views, заявки към базата данни" се изисква да имаш конекция с базата и така нататък. Реално това е статистика която ще натовари прекалено много а и защо да я слагам когато в класовете си я има и ако на някой му трябва да извика нещо ще си го намери там. Те са част от библиотеката и няма смисъл да правя конекции само за да извадя статистически данни за тях. Примерно от рутера и така нататък може да ги извадя но това вече е друга тема и реално в момента не е обща статистика за приложението а статистика за даден класс. Нея мога да я извадя на определено място след като съм направил инстанция, а тази функция е просто да извади общото. За да извадя данните които описваш трябва да направя конекции и прочие към класовете, докато в момента ме интересува общото за всички класове и страници които са инклуднати и инициализирани.
 
1 ) Да броиш итерациите е повече от глупаво. Сори, така е!
Костваш перформънс за да видиш кой циъл бави?

Давам ти пример с една и съща таблица, от 2 000 000 външни за съвръра снимки. ( Стабилно количество )
Какво можеш да правиш с тези снимки ?
Можеш да ги листнеш - 0.0001 секунди
Можеш да ги копираш - 0.0020 секунди ? примерно, да ама не, защото ако те се рамират на различни съвръри с различни с различна свързаност, то всяка снимка ще отнема различно време за реагиране. Това нещо, искам да видя на кой ще му помогне ....
Можеш да ги оразмериш - 0.0030 секунди? примерно - да ама пак няма да получиш точното време.... поради ред прични, като започнем : Не можеш да конторлираш всички процеси които се изпълняват ( поне за мен е невъзможно ). Все ще има процес, който да яде повече процесорно време отко лкото снимката... тоест една снимка ще стане за едно време, друга за друго време.

В тези случай, все въртим едни и същи данни, но какво правим с тях, вече е съвсем различно. Никой не го интересува колко итерации има за да се изпълни, интересувагУ защо се бави.
Ако листинга е проблема - то много вероятно е да от таблицата, хардуера или софтуера който се ползва
Ако е при копирането на снимки- много възможно е да се проявава първо забаване в свързаността, след това в хардуера.
Ако е при оразмеряването .... двойно повече проблеми.

Това което се опитваш да направиш, наиситна няма смисъл. Ако искаш на някой клиент да му изкарваш някакви числа да му замажат очите, по-лесно сложи едно rand(123124,1231532) * rand(0,12) ....

На никой програмистн яма да му помогне това. Единственото има смисъл, е да изкараш всяка една заявка към базата данни, с времето за нея. Това вече има смисъл.....


Мен какво ме интересува когато правя нещо?
Колко заявки имам, какво време отнема да се изпълнят.
Дали правя пост или гет? Или какви сам и данните, мога да си го видя и в бразузъра.
Колко време отнема да се рендира вюто? - Няма значение, системата ще го рендира веднъж и ще го кешира, докато някой не направи промяна в сайта.

От първите две изречения от предният ти пост : разровиси се за малко по-детайлна информация за - https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
 
Колеги, така е спор няма но тази статистика която искаш не е свързана с цялото приложение точно заради перформънса. Първо конекция към базата данни ще се прави само когато абонатът поиска. Видът статистика която описа може да си я вземе посредством класът DB_STATUS примерно от там можеш да си вземеш каквото точно те интересува. Тазу глобална функция е обща статистика нищо друго.
 

Back
Горе