2012-11-18 9 views
6

Ich habe mich nur gefragt, ob es sich lohnt, nicht-OOP-Code aus Gründen der Geschwindigkeit zu bleiben. Auch in kommerziellen Web-Anwendungen wird OOP allgemein verwendet oder vermieden? Welches ist der Standard?Ist die objektorientierte Programmierung in interpretierten Sprachen (d. H. PHP) effizient?

Vielen Dank,

Ed

+0

Ich möchte soo die Antwort auf diese kennen. – samayo

+3

Es klingt wie du lernst zu vermeiden, Oop zu lernen? –

+0

Nicht wirklich. Ich finde die Idee, wiederverwendbaren Code zu erstellen, ziemlich erfrischend. – Edward

Antwort

9

Der Standard ist lesbaren Code über die Effizienz zu bevorzugen, weil die meiste Zeit „effizienteren Code“ läuft schneller durch eine einzelne Millisekunde. Die objektorientierte Programmierung ist in der Regel besser lesbar als ein nicht objektorientiertes Gegenstück.

Siehe auch diese Frage: Why are so many web languages interpreted rather than compiled?. Der Großteil der Ladezeit einer Seite besteht aus dem Senden und Empfangen von Daten oder dem Ausführen von Datenbank-Dingen.

+0

Würde es also für den Benutzer keinen signifikanten Unterschied machen? – Edward

+2

@ Edward In den meisten Fällen, nein. Sie sollten sich nicht um die Effizienz kümmern, es sei denn, Ihr Code läuft tatsächlich langsam - und denken Sie daran, [die vorzeitige Optimierung ist die Wurzel allen Übels] (http://c2.com/cgi/wiki?PrematureOptimization). –

+0

Großartig! Danke für deine Antwort. – Edward

4

OOP wird allgemein in kommerziellen Webapps verwendet und wird zum Standard. Der Grund dafür ist nicht Effizienz - es ist Code-Wiederverwendbarkeit, Code Lesbarkeit, einfache Dokumentation, Struktur und noch wichtiger Modularität!

1

Ich denke, die OOP Overhead ist im Allgemeinen vernachlässigbar für die Geschwindigkeit Leistung, und der Code wird viel Qualität gewinnen.

Kommerzielle Anwendungen verwenden in der Regel OOP, gestartet, wenn danach verfügbar war (und stabil!)

3

Object-Oriented-Code ist der Standard, aber nicht aus Leistungsgründen. Es geht wirklich um Wartbarkeit.

Code-Geschwindigkeit ist in Web-Anwendungen selten von wirklicher Bedeutung. I/O ist viel mehr relevant, und die meisten der Optimierung Menschen in Eingriff letztlich zur Verringerung I/O:

  • Persistent Datenbankverbindungen
  • Daten Fragment Caching
  • Seiten-Caching
  • Mandanten- Seite Cache-Header

signifikante CPU-intensive Aufgaben werden in der Regel von kompilierten Plug-In behandelt und zugänglich gemacht die interpretierte Sprache. Einige typische Beispiele:

  • PDF Erzeugung
  • Bildbearbeitung (Imagik, GD)
  • Cryptography (OpenSSL)