2012-11-18 15 views
6

Zastanawiam się, czy warto trzymać się kodu non-OOP ze względu na szybkość. Ponadto, w komercyjnych aplikacjach internetowych, jest zwykle używany lub unikany OOP? Który jest standardem?Czy programowanie obiektowe w językach interpretowanych (tj. PHP) jest wydajne?

Wielkie dzięki,

Ed

+0

ja soo chcą poznać odpowiedź na to pytanie. – samayo

+3

Wygląda na to, że próbujesz uniknąć uczenia się oop? –

+0

Niezupełnie. W zasadzie myśl o tym, że mogę stworzyć odświeżający kod, jest całkiem odświeżająca. – Edward

Odpowiedz

9

normy jest faworyzować czytelnego kodu nad wydajnością, ponieważ przez większość czasu „bardziej wydajny kod” działa szybciej przez jedną milisekundę. Programowanie zorientowane obiektowo jest ogólnie bardziej czytelne niż nieobiektywnego odpowiednika.

Zobacz także to pytanie: Why are so many web languages interpreted rather than compiled?. Większość czasu ładowania strony jest poświęcana na wysyłanie i odbieranie danych lub robienie rzeczy z bazy danych.

+0

Czy nie ma to znaczącego wpływu na użytkownika? – Edward

+2

@Edward W większości przypadków nie. Nie powinieneś zajmować się wydajnością, chyba że Twój kod działa powoli - i pamiętaj, że [przedwczesna optymalizacja jest źródłem wszelkiego zła] (http://c2.com/cgi/wiki?PrematureOptimization). –

+0

Świetnie! Dzięki za odpowiedź. – Edward

4

OOP jest powszechnie stosowany w komercyjnych aplikacjach internetowych i okazuje się być standardem. Powodem tego nie jest efektywność - to re-użyteczność kodu, czytelność kodu, łatwa dokumentacja, struktura, a co ważniejsze modułowość!

1

Wydaje mi się, że obciążenie związane z OOP jest na ogół niewielkie, jeśli chodzi o szybkość, a kod zyska wysoką jakość.

aplikacje

komercyjne zwykle używają OOP, jeżeli rozpoczął się po co było dostępne (i stabilny!)

3

kod obiektowe jest średnia, ale nie ze względu na wydajność. Naprawdę chodzi o łatwość konserwacji.

Prędkość kodu rzadko ma jakiekolwiek konsekwencje w aplikacjach internetowych. I/O jest znacznie bardziej istotne, a większość z optymalizacją ludzie angażują się ostatecznie na celu zmniejszenie I/O:

  • trwałych połączeń baz danych
  • buforowania fragment danych
  • buforowania Page
  • client- boczne nagłówki pamięci podręcznej

Wszelkie znaczące zadania wymagające dużej mocy obliczeniowej są zazwyczaj obsługiwane przez skompilowane wtyczki i udostępniane językowi interpretowanemu. Niektóre typowe przykłady:

  • Generation PDF
  • Image Manipulation (Imagik, GD)
  • Cryptography (OpenSSL)