Προς το περιεχόμενο

HipHop : Το Facebook βελτιστοποιεί την PHP


Hal9000

Προτεινόμενες αναρτήσεις

Ως μια από τις μεγαλύτερες εξελίξεις στη γλώσσα προγραμματισμού PHP μπορεί να θεωρηθεί η σημερινή ανακοίνωση του Facebook. Η μεγαλύτερη ιστοσελίδα κοινωνικής δικτύωσης, στηρίζεται από την αρχή στη PHP για την ανάπτυξη νέων λειτουργιών εξαιτίας της ευκολίας προγραμματισμού/εκμάθησης/αποσφαλμάτωσης, κάτι που επιτρέπει στο Facebook συνεχή γρήγορη ανάπτυξη.

 

Τα τελευταία δύο χρόνια, μια μικρή ομάδα μηχανικών του Facebook ανέπτυξε το HipHop το οποίο και χρησιμοποιεί με τεράστια επιτυχία το Facebook. Το HipHop δεν είναι ακριβώς compiler αλλά στην ουσία μετατρέπει το πηγαίο κώδικα της PHP σας σε βελτιστοποιημένο κώδικα C++ και στη συνέχεια χρησιμοποιεί g++ για το compile.

 

Τα οφέλη είναι αρκετά ενθαρρυντικά. Συγκεκριμένα ο φόρτος χρήσης του επεξεργαστή ενός Web Server μειώθηκε κατά μέσο όρο 50% ανάλογα με την ιστοσελίδα κάτι που οδήγησε σε εξοικονόμηση χρημάτων από το περιορισμό αγοράς νέων server.

 

Τα αποτελέσματα αυτά οδήγησαν το Facebook στην σημερινή ανακοίνωση με την οποία διαθέτει το HipHop κάτω από την άδεια ανοιχτού λογισμικού για περαιτέρω ανάπτυξη και χρήση σε ιστοσελίδες που χρειάζονται καλύτερο scaling.

 

Τα ξημερώματα Τετάρτης (5.30πμ) θα γίνει η επίσημη παρουσίαση από τα κεντρικά γραφεία του Facebook και η οποία θα μεταδοθεί ζωντανά μέσω του ustream.tv. Στην ακόλουθη ιστοσελίδα μπορείτε να βρείτε αναλυτικές πληροφορίες για το τρόπο λειτουργίας του Hip Hop.

 

Link.png Site: Επίσημη Ανακοίνωση

Video Video: Facebook Ustream.TV Channel

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 40
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Τι HipHop ρε παιδιά και πράσινα άλογα μπορούν να το κάνουν να μη κολλάει αυτό εμενα με ενδιαφέρει. δε μου φαίνεται εμενα σου αυτό το hiphop πάρε κανένα server εκεί τόσα λεφτά βγάζετε να μην κολλάμε και εμείς!!!!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Και πανω που σκεφτομουν να μαθω λιγο καλυτερα την PHP

 

η php ίδια θα μείνει, απλά το hiphop "μεταφράζει" τον υπάρχοντα κώδικα php που έχεις ήδη γράψει (προφανώς και που θα γράψεις), σε κώδικα της C και μάλιστα βελτιστοποιημένα (πχ χ=χ+1 γίνεται χ++ και όχι μόνο) προκειμένου να τρέχει εγγενώς στη cpu. Αυτή τη στιγμή η php τρέχει σε επίπεδο κελύφους (είναι κέλυφος). ο κώδικας της C μεταφράζεται σε Assembly και μάλιστα ο compiler αναλαμβάνει τη βελτιστοποίηση του κώδικα ανάλογα με την αρχιτεκτονική της cpu (άλλο μέγεθος έχει ο ακέραιος για 32 και άλλο για 64 bits).

 

Παρότι είναι μακράν γρηγορότερη, είναι και μακράν λιγότερο "ετοιματζήδικη" σε σχέση με τις σκριπτογλώσσες, σου επιτρέπει (και σου επιβάλει ταυτόχρονα) τη δυναμική δέσμευση μνήμης σε επίπεδο bytes, ακόμα και bits αν το θελήσουμε, με αποτέλεσμα πράγματα που σε νεότερης γενιάς γλώσσες (υψηλού επιπέδου), υλοποιούνται σε 2-3 γραμμές κώδικα, στη C, να χρειάζονται περισσότερες και περισσότερη σκέψη.

 

εν ολίγης το Hiphop σου δίνει τη ταχύτητα της C, με την ευκολία και την άνεση της php.

 

ps: Μεγάλη πρόκληση για python/django, ruby και φυσικά για την asp.net.

 

ps2: Η ειρωνεία είναι πως πλέον οποιοδήποτε project σε Joomla/mambo/wordpress/drupal θα παραμένει το ίδιο "ετοιματζήδικο" αλλά θα είναι κατα πολύ γρηγορότερο ενός με κόπο και μεράκι φτιαγμένο σε frameworks πέρα της php.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Διόρθωση: είναι compiler, το είδος που ονομάζουμε source-to-source compiler. Δίνεις source code από μια high-level programming language και σου δίνει source code σε μία high-level programming language.

 

Και ο llvm το ίδιο κάνει, και ο ROSE compiler και άλλοι τόσοι (σημ. το κάθε πανεπιστήμιο/lab που έχει κάνει μία γλώσσα, παράγει και έναν source-to-source compiler από την γλώσσα που έκαναν σε C, C++ ή όποιοδήποτε είδος intermediate language).

 

Στο τέλος της ανακοίνωσης δίνει μια λίστα από compilers που κάνουν ακριβώς το ίδιο. Διάβασα την ανακοίνωση αρκετές φορές και πέραν του integration με τον GCC και την μετατροπή σε C++ δεν βρίσκω κάτι που να με κάνει να πω "wow" - είναι ακόμα ένας source-to-source compiler που δουλεύει. Από την άλλη άμα έκαναν JIT όπως η Sun με τη Java, αυτό θα ήταν wow...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Κανένας compiler από assembly -> C υπάρχει; Για μικροελεγκτές. Γνωρίζω πάνω κάτω κ τις δύο γλώσσες (τα βασικά) Αλλά το μεταφράζεις 15 σελίδες κώδικα από assembly σε C και να πιάνει μια σελίδα είναι χρονοβόρο κ δύσκολο.Σκεφτόμουν τον μεταφραστή σαν λύση κ μετά εγώ απλά να διορθώνω τυχόν πατάτες.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ειδα την παρουσιαση και πραγματικα αν και δεν ειναι η πανακεια για ολα τα προβληματα που δημιουργει η php ως γλωσσα προγραμματισμου υψηλου επιπεδου, ειναι πραγματικα ενα ΚΑΛΟ βημα για την εξοικονομηση πορων στους web servers.

 

Τι HipHop ρε παιδιά και πράσινα άλογα μπορούν να το κάνουν να μη κολλάει αυτό εμενα με ενδιαφέρει. δε μου φαίνεται εμενα σου αυτό το hiphop πάρε κανένα server εκεί τόσα λεφτά βγάζετε να μην κολλάμε και εμείς!!!!

 

Θα σου προτεινα να χρησιμοποιησεις νεοτερη εκδοση του browser σου ή ακομα καλυτερα καποιον αλλον βασισμενο σε webkit (chrome, safari).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να μην γ*** μπορούν να το κάνουν;Όποτε λεω να ανοίξω το chat και μου γράψουν πάει....ο ff γονατίζει,και πολλές φορές κλείνει με σφάλμα..

Είδα ότι με ie πήγαινε καλά,αλλά μετά πάλι τα ίδια κ αυτός..

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να μην γ*** μπορούν να το κάνουν;Όποτε λεω να ανοίξω το chat και μου γράψουν πάει....ο ff γονατίζει,και πολλές φορές κλείνει με σφάλμα..

Είδα ότι με ie πήγαινε καλά,αλλά μετά πάλι τα ίδια κ αυτός..

 

Θα το ξαναπω σε σενα και σε ολους οσυς τα ριχνουν στο facebook.

 

ΔΕΝ ΕΧΕΙ ΝΑ ΚΑΝΕΙ ΜΕ ΑΥΤΟΤΣ. ΕΧΕΙ ΝΑ ΚΑΝΕΙ ΜΕ ΣΕΝΑ.

 

Αναβαθμισε τον browser σου.

 

ΠΟΤΕ ΜΑ ΠΟΤΕ δεν μου κολλησε. Γιατι? Μηπως εχω συμβολαιο με το Θεο??

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θα το ξαναπω σε σενα και σε ολους οσυς τα ριχνουν στο facebook.

 

ΔΕΝ ΕΧΕΙ ΝΑ ΚΑΝΕΙ ΜΕ ΑΥΤΟΤΣ. ΕΧΕΙ ΝΑ ΚΑΝΕΙ ΜΕ ΣΕΝΑ.

 

Αναβαθμισε τον browser σου.

 

ΠΟΤΕ ΜΑ ΠΟΤΕ δεν μου κολλησε. Γιατι? Μηπως εχω συμβολαιο με το Θεο??

 

Συμβόλαια με μένα δεν έχεις..δεν το κάνω εγώ.

καιιιι για πες τιιιιιιιιιιιι να του βάλω.Να στον φέρω για σέρβις;Συγνώμη που έχω 4 pc που έστω κάτι να γίνει στο fb πατώνουν..και συγνώμη που φίλοι μου,που μπορεί να πήραν pc προχτές να χουν τα ίδια..Μάλλον δεν πιστεύουν στον θεό,ευλόγισον !

Θα μπορούσα ναι να του βάλω τον firefox 7 και την ie 20 ή άλλα..θα μπορούσε να λειτουργούσε πλήρως...ή μήπως έχω χαμηλό σύστημα που δεν μπορεί να λειτουργήσει ένα site ;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...