The Nested Tree Model

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

The Nested Tree Model

Δημοσίευση από jpk » 28 Απρ 2011 09:39

Βάζω το zip και εδώ για να μην είναι μόνο σε rapidshare . Έτρεξα τα test σήμερα το πρωί σε άλλον server και οι χρόνοι που γράφω είναι στις 100 φορές. Καλό είναι το startTime και στο test1.php και στο test2.php να πάει στην δεύτερη γραμμή για να είναι πιο ρεαλιστικοί οι χρόνοι.

Test1: 0.7689
Test2: 0.1571
Συνημμένα
test.zip
Το τεστ
(17.23 KiB) Μεταφορτώθηκε 236 φορές

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

The Nested Tree Model

Δημοσίευση από korgr » 28 Απρ 2011 10:27

Σε ευχαριστούμε jpk για τον χρόνο σου.
Είναι περίπου εκεί που υπολόγιζα οι διαφορές.

Το αστείο είναι πως οι διαφορές που προκύπτουν δεν έχουν καμία σχέση με τις διαφορές rendering πχ μιας joomla σελίδας σε σύγκριση με μία σωστά δομημένη custom σελίδα.
Και όμως η διαφορά που υπάρχει στο learning curve γέρνει την ζυγαριά εμφανώς υπέρ της χρήσης joomla.

Και προσοχή όταν μιλάω για την απλότητα του Adjacency List Model μιλάω για τα CRUD και όχι απλά τα views.

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

The Nested Tree Model

Δημοσίευση από jpk » 29 Απρ 2011 01:14

Ο προγραμματισμός γενικότερα έχει κάποιο learning curve. Φυσικά μπορείς να τα αποφύγεις όλα αυτά και να πουλάς έτοιμα προϊόντα (CMS) που απλά εγκαθιστάς και όχι να παράγεις.

Για να γίνω σαφής , δεν κατηγορώ ούτε διαφωνώ με τους μεταπράτες , μπορεί κάποιος σε αυτόν τον τομέα να είναι καλός στην δουλειά του , να είναι ειλικρινείς με το τι πουλάει και να καλύπτει συγκεκριμένες ανάγκες. Η δική μου η δουλειά είναι άλλη.

Στο τεστ που έκανα δεν σύγκρινα ένα έτοιμο CMS με κώδικα προγραμματισμού. Συνέκρινα το adjacency list model για δημιουργία πολυεπίπεδων μενού με ένα object list model με κλειδιά. Σίγουρα ο OOP έχει learning curve , το MVC το ίδιο, και ίσως κάποιο προγραμματιστικό framework και αυτό. Το αν αξίζει ή όχι να τα περάσεις έχει να κάνει, για εμένα, με το ποιος είσαι και τι θες να κάνεις.

(Εγώ να σου πω πάλι την αλήθεια δεν περίμενα τόση μεγάλη διαφορά σε χρόνους, ευχαριστώ που με κινητοποίησες να κάνω το τεστ και να δω και κάνα δύο σημεία που θέλουν προσοχή (γιατί ήταν η πρώτη φορά που το έκανα εκτός MVC))

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

The Nested Tree Model

Δημοσίευση από pimpogio » 29 Απρ 2011 03:09

δεν το εχω τρεξει ουτε το ειδα ακομα(θα το κανω συντομα) αλλα
η διαφορα σε χρονο ειναι τεραστια ... παρα πολυ μεγαλη...

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

The Nested Tree Model

Δημοσίευση από fafos » 29 Απρ 2011 03:22

100 lexeis kai oi 80 einai sta agglika.. toulaxiston, an apotyxete ston programmatismo anoixte ena fronthsthrio Agglikon :lol:
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

The Nested Tree Model

Δημοσίευση από korgr » 29 Απρ 2011 10:22

fafos έγραψε:100 lexeis kai oi 80 einai sta agglika.. toulaxiston, an apotyxete ston programmatismo anoixte ena fronthsthrio Agglikon :lol:
+1

Δάσκαλε αυτά είναι τα ..."by the book" παιδιά των πανεπιστημίων. Μην δίνεις σημασία, θα μάθουν τι θα πει πληροφορική της Αγοράς!
Βλέπε για παράδειγμα τον pimpogio που σε κάθε topic μας αραδιάζει την σοφία του με 80 αγγλικούς όρους και μόλις κάθεται να υλοποιήσει κάτι στην πράξη, ανοίγει 10 "help me" topics.

jpk δεν κατάλαβες τίποτα από όσα σου έγραψα. Το αποδεικνύει το πως εξέλαβες όσα είπα για τα CMS.
Όταν έχεις διαφορά κάτω από 1 sec (και μάλιστα με 500 κατηγορίες ενώ στην πλειοψηφία των sites που θα το χρησιμοποιήσεις δεν έχεις ούτε 100) είναι ελάχιστη διαφορά. Ξεμυτίστε από τα αποστειρομένα εργαστήριά σας.
Πολύ μεγαλύτερο delay μπορεί να προκαλέσει το traffic του server, η κακή επεξεργασία γραφικών ή η εφαρμογή τους στην html, η φόρτωση ένα κάρο άχρηστων βιβλιοθηκών ενός CMS και πάει λέγοντας...

Για να μην αναφέρω πως η επεξεργαστική ισχύς των servers όλο και μεγαλώνει με αποτέλεσμα οι χρόνοι συνεχώς να βελτιώνονται.

Όταν μιλάς για χρόνους λοιπόν να βάζεις το θέμα στις πραγματικές του διαστάσεις.
Αυτό σημαίνει πως έχουμε ένα χρήστη που θα περιμένει 3 με 4 δέκατα του δευτερολέπτου περισσότερο για να δει την σελίδα. Θες να το βλέπεις τραγικό; Ο μόνος θα είσαι, άντε και μερικοί κολημένοι όμοιοί σου...

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

The Nested Tree Model

Δημοσίευση από jpk » 29 Απρ 2011 11:06

«άντε και μερικοί κολημένοι όμοιοί σου...» αν δεν προτείνεις την χρήση CMS λόγω learning curve τότε η άποψή μου για μεταπράτες δεν ισχύει για εσένα. Εγώ βέβαια αυτό κατάλαβα από το … «Και όμως η διαφορά που υπάρχει στο learning curve γέρνει την ζυγαριά εμφανώς υπέρ της χρήσης joomla.» .

Όσο για τους χρόνους δίκιο έχεις ότι υπάρχουν πολλά άλλα πράγματα που στοιχίζουν περισσότερο σε χρόνο σε μία σελίδα και πολύ συχνά παραβλέπονται. Και σίγουρα τα 5/10 του δευτερολέπτου δεν είναι χρόνος για να τον κάνεις ζήτημα.

Περαιτέρω την μέθοδο με indexed object list δεν θα την πρότεινα παντού , όλα είναι αναλόγως τι κάνεις και ποιος είσαι.(Ούτε ολοκληρωμένο tutorial έγραψα για αυτή , ούτε υπάρχουν πολλά σχετικά tutorials για αυτή την μέθοδο σε PHP, αν και πάνω στην δουλειά έχω συναντήσει αρκετές παρεμφερείς μεθόδους σε αρκετές γλώσσες)

Πλάκα έχει να διαφωνούμε (ακόμα και με φραστικές παρεκκλίσεις) ώστε να έχει ζωντάνια το φόρουμ (και να περνάμε καλά), αλλά δεν χρειάζεται να το κάνουμε και συνέχεια.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

The Nested Tree Model

Δημοσίευση από korgr » 29 Απρ 2011 11:38

jpk ο γραπτός λόγος πάντα εμπεριέχει κινδύνους παρεξήγησης.
Ανέφερα κάτι υποθετικό «αν θες να το βλέπεις τραγικό τότε...»
Σαφώς και δεν ισχύει τελικά ο χαρακτηρισμός μου περί κολημένων για σένα αφού αναγνωρίζεις πως δεν τίθεται ζήτημα για την χρονική διαφορά.

Είμαι χρόνια πολέμιος των έτοιμων CMS και κατέληξα στην δημιουργία δικού μου framework -οπότε μεταπράτης σίγουρα δεν είμαι- και ανέφερα το learning curve για να δείξω πόσο σημαντικό παράγοντα θεωρεί ο κόσμος το να μάθει εύκολα κάτι.

Εγώ θα δουλεύω σε επίπεδο πυρήνα πάντα με δικό μου κώδικα αλλά αν κάτι γίνεται πιο εύκολα και με διευκολύνει (αλλά δεν με πριορίζει όπως τα CMS) θα το χρησιμοποιήσω (βλέπε tinyMCE, jQuery plugins κλπ).

Στα πλαίσια αυτά, κατέληξα στο adjacency list model και όχι γιατί είναι η απόλυτα σωστή μέθοδος :)

Have a nice day and keep coding 8)

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

The Nested Tree Model

Δημοσίευση από jpk » 29 Απρ 2011 11:54

Είμαι χρόνια πολέμιος των έτοιμων CMS και κατέληξα στην δημιουργία δικού μου framework … Εγώ θα δουλεύω σε επίπεδο πυρήνα πάντα με δικό μου κώδικα αλλά αν κάτι γίνεται πιο εύκολα και με διευκολύνει (αλλά δεν με περιορίζει όπως τα CMS) θα το χρησιμοποιήσω (βλέπε tinyMCE, jQuery plugins κλπ).
Παραλίγο να διαφωνήσουμε ενώ αυτό που έγραψες θα μπορούσα να το έχω γράψει και εγώ (με μία ίσως προσθήκη μετά το "με διευκολύνει" -και έχω εικόνα πως το κάνουν-).

Μερικές τάξεις από αυτές που έδωσα στον κώδικά μου έχουν ελλιπή σχόλια σε κάποιες μεθόδους, όπως είπα δεν είναι tutotial ενώ έβαλα σχόλια στην ροή.

Ημέρα καλή να έχουμε …

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

The Nested Tree Model

Δημοσίευση από pimpogio » 29 Απρ 2011 13:49

ποια εργαστηρια.. 5 φορες ποιο αργο οταν εχει πραγματικο φορτο το site ειναι παρα πολυ...

φαντασου να εχεις 100 κατηγοριες (οχι 500) αλλα οχι 1 χρηστη αλλα 10000 χρηστες...

στον 1 χρηστη ειναι ασημαντη διαφορα αλλα σε πολλους
ειναι τεραστια η διαφορα...

0,5 sec * 10000 = 5000 secs περιπου 1,4 ωρες !!!


Η φαντασου το δεντρο να μην ειναι απλα για ενα μενου αλλα για κατι αλλο και να εχει
1000000+ nodes..

παραδειγμα ενα γραφος σε social network στυλ facebook η ενας γραφος
με links ή ενας γραφος σε site δημοπρασιων με τις αξιολογησεις και σε αυτους τους γραφους να ψαχνεις να βρεις σχεσεις (φιλους φιλων/ποιοτητα links/απατεωνες) κτλπ.
Αυτα ειναι πραγματικα προβληματα και οχι εργαστηριου...
και ειναι τοσο πολυπλοκα προβληματα που δεν τα βαζει καν το μυαλο καποιου πληροφορικαριου της αγορας...

Ολο το web ειναι γεματο γραφους...

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

The Nested Tree Model

Δημοσίευση από korgr » 29 Απρ 2011 14:52

Ναι, οι 10000 χρήστες θα κάνουν το request στο ίδιο δευτερόλεπτο όλοι, με αποτέλεσμα να περιμένουν ...1 ώρα.
Και μετά ξύπνησες!
Άσε τα facebook και τις εξειδικευμένες περιπτώσεις των άπειρων χρηστών!
Έτσι κι αλλιώς τέτοιες δουλειές λίγοι έχουν την τύχη να ακουμπήσουν.
Το ξέρεις πως το 99% των ελληνικών sites, έχουν συνολικά 10000 επισκέπτες σε περισσότερους από δύο μήνες?

Αν μου τύχει παρ' όλα αυτά περίπτωση που θα έχω πρόβλημα με την δική μου μέθοδο, θα ακολουθήσω την μέθοδο του φίλου jpk. Θα είναι όμως μια εξειδικευμένη περίπτωση και συνήθως αυτές πληρώνονται και καλά!

Δεν σε αδικώ γιατί ξέρω πως έχεις πλάσει έναν φανταστικό και εξιδανικευμένο κόσμο για την πληροφορική σου. Θα μάθεις και την πληροφορική της Αγοράς, που θα πάει...

Εδώ δείχνεις να τα βρίσκεις μπαστούνια με δικές σου εφαρμογές. Κάτσε να σου πει ο βλάχος ο πελάτης πως θέλει αυτό κι εκείνο και τ' άλλο, και θα δεις που πανε οι αγγλικοί σου όροι και τα πανεπιστήμια.

Have a nice day too 8)

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

The Nested Tree Model

Δημοσίευση από pimpogio » 29 Απρ 2011 15:12

ποιοι αγγλικοι οροι ... το προβλημα που περιγραφουμε δεν εχει να κανει με ορους ειναι πραγματικο προβλημα...
να μου οι πελατες εγω δεν πουλαω/πληρώνομαι ουτε φτιαχνω επι παραγγελια sites ουτε εχω πελατες.. οποτε δεν με ενδιαφερει η αγορα

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

The Nested Tree Model

Δημοσίευση από korgr » 29 Απρ 2011 15:51

pimpogio έγραψε: να μου οι πελατες εγω δεν πουλαω/πληρώνομαι ουτε φτιαχνω επι παραγγελια sites ουτε εχω πελατες.. οποτε δεν με ενδιαφερει η αγορα
Ε πέστο να συνενοηθούμε! :D

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

The Nested Tree Model

Δημοσίευση από fafos » 29 Απρ 2011 16:28

pimpogio έγραψε:ποιοι αγγλικοι οροι ... το προβλημα που περιγραφουμε δεν εχει να κανει με ορους ειναι πραγματικο προβλημα...
να μου οι πελατες εγω δεν πουλαω/πληρώνομαι ουτε φτιαχνω επι παραγγελια sites ουτε εχω πελατες.. οποτε δεν με ενδιαφερει η αγορα
edo den einai lesxh koultouriaridon pou katalavainontai mono metaxy tous.. einai texnologiko forum opou mpainei kosmos gia dikous tou logous na mathei kapoia pragmata.. an arxiso kai ego na grafo opos ta syzhtagame me tous synergates mou tha prepei na anevasoume kai ena wiki-lexiko gia na katalavaineis ti grafo..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

kapoios001
Δημοσιεύσεις: 403
Εγγραφή: 17 Φεβ 2011 12:26

The Nested Tree Model

Δημοσίευση από kapoios001 » 29 Απρ 2011 18:12

Έλα παιδιά μην μαλώνετε. Εγώ ήθελα να ρωτήσω κάτι, εντάξει το έμαθα αλλά από κει και πέρα δεν χρειάζεται να ερχόμαστε σε διενέξεις μεταξύ μας.

BTW, αν μπορεί να βοηθήσει κάποιος σε ένα άλλο θέμα που ξεκίνησα εδώ. Ευχαριστώ πολύ.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες