Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Glupie/smieszne Bledy Oo W Php5
e-Gandalf
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 195
Pomógł: 0
Dołączył: 7.07.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


przyklady:

1)

  1. <?php
  2.  
  3. class Foo {
  4. }
  5.  
  6. function x(Foo $e) {
  7. }
  8.  
  9. $l = new Foo();
  10.  
  11. x((int)$l);
  12.  
  13. ?>


2)

  1. <?php
  2.  
  3. class Foo {
  4. }
  5.  
  6. function x(Foo $e) {
  7. }
  8.  
  9. x(null);
  10.  
  11. ?>


macie inne? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Krolik
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 16.11.2004

Ostrzeżenie: (0%)
-----


Dobrze, dobrze, moze to poprawili.

Co do przekazywania przez COW (copy on write) - ta technika jest jak najbardziej uzywana w innych jezykach. Tylko ze zwieksza ona wydajnosc i zmniejsza zuzycie pamieci tylko w pewnych, nielicznych sytuacjach i dlatego zaden jezyk nie ma tego wbudowane. Po prostu nierozsadne jest wbudowywac w jezyk mechanizmu, ktory w 90% przypadkow spowalnia, a przyspiesza rzadko i na dodatek nie mozna go obejsc.

Przy kazdym dostepie do obiektu do zapisu musi byc wykonywana kontrola czy przypadkiem licznik referencji nie jest wiekszy niz 1. Takie sprawdzanie np. przy kazdym nawet malym elemencie tablicy wprowadza duzy narzut. Dlatego lepsze dla wydajnosci jest przekazanie jawnie przez referencje, jesli nie chcemy kopiowac, niz przekazanie przez wartosc w trybie COW. Tylko to niestety nie dotyczy php, bo tu jest odwrotnie (nawet jesli te roznice nie sa az takie jak najpierw opisywalem).
W C++ czy Javie mozna sobie COW zaimplementowac bez problemu (w C++ niektore impl. STLa jeszcze go wspieraja, ale tez juz sie z tego wycofuja).

Watek jest o glupich bledach: dla mnie to jest glupi blad. Bo skoro referencje nie przyspieszaja (nawet Twoj test to pokazal) to po co w ogole sa?

Co do porownania wydajnosci z Java. Sorry, ale ten tescik Java 1.4.2 wykonala u mnie niewiele wolniej niz C. W zasadzie roznica miesci sie w zakresie bledu statystycznego. Programy pisane w Javie chodza niemal z szybkoscia programow natywnie kompilowanych (HotSpot / JIT), a czasem nawet szybciej(!), wiec php jeszcze pod tym wzgledem do Javy daleko. Tak czy inaczej ten tescik jest zbyt prosty, zeby wnioskowac o wydajnosci jezykow w ogole. Java zabiera znacznie wiecej zasobow niz php i widac to szczegolnie przy duzych aplikacjach. Jak masz malo RAMu i malo cache'u L2 to rzeczywiscie moze mocno zwolnic.
Go to the top of the page
+Quote Post

Posty w temacie
- e-Gandalf   Glupie/smieszne Bledy Oo W Php5   7.09.2004, 11:34:45
- - hawk   Zapomniałeś o: [PHP] pobierz, plaintext <?php...   7.09.2004, 17:45:31
- - chfast   Cytat(e-Gandalf @ 2004-09-07 11:34:45)2)...   11.09.2004, 15:51:02
- - e-Gandalf   1) A moze to, ze w kazdym jezyku swiata kazdy niep...   11.09.2004, 18:35:55
- - chfast   Niestety niewiele z tego rozumiem bo nie mam pojęc...   11.09.2004, 19:39:34
- - hawk   Pomijając derefencowanie chodzi o to że: 1) W ka...   11.09.2004, 22:06:05
- - e-Gandalf   Hawk: no dokladnie o to mi chodzilo   13.09.2004, 08:50:00
- - Dabroz   Szkoda że nie ma typów danych w php. Można by twor...   14.09.2004, 22:15:01
- - e-Gandalf   jedziemy dalej: [PHP] pobierz, plaintext <?php...   15.09.2004, 15:42:40
- - hawk   Komedii ciąg dalszy: [PHP] pobierz, plaintext ...   17.09.2004, 21:19:17
- - e-Gandalf   poprawcie jesli sie myle, ale to chyba tez blad: ...   20.09.2004, 15:34:21
- - hawk   Dlaczego żenada? Mechanizm jest chyba zrobiony tak...   22.09.2004, 10:04:07
- - e-Gandalf   No, tu niestety ponosimy koszty "kompatybilno...   22.09.2004, 12:17:10
- - hawk   Typowy problem języków proceduralno-obiektowych. T...   22.09.2004, 12:24:36
- - e-Gandalf   Cytat(serafin @ 2004-09-22 13:28:33)Skoro ten...   23.09.2004, 00:01:45
- - hawk   Co prowadzi nas do wniosku że każdą funkcję powinn...   23.09.2004, 09:41:58
- - netzah   Cytat(e-Gandalf @ 2004-09-15 16:42:40)[P...   29.09.2004, 15:01:31
- - e-Gandalf   Poczekaj, poczekaj. Jesli bym chcial zablokowac mi...   30.09.2004, 20:18:27
- - hawk   1) Taki swodobny dostęp do zmiennych jest rzeczą n...   30.09.2004, 22:22:55
- - netzah   Cytat(e-Gandalf @ 2004-09-30 21:18:27)Po...   1.10.2004, 07:47:22
- - e-Gandalf   hawk: nie zgodze sie, ze nie ma RMI ;>>>...   3.10.2004, 02:40:22
- - netzah   Cytat(e-Gandalf @ 2004-10-03 03:40:22)ha...   5.10.2004, 14:26:30
- - e-Gandalf   Niestety zbyt wiele na razie nie moge zdradzac. Ge...   6.10.2004, 15:10:45
- - Lukasz Luczak   Może nie trafiony będzie to temat. Ale mnie rozwal...   10.10.2004, 19:33:08
- - Seth   Cytat(Lukasz Luczak @ 2004-10-10 19:33:08)Moż...   10.10.2004, 20:24:12
- - Lukasz Luczak   Ok Seth - źle się wyraziłem wybacz   10.10.2004, 22:10:46
- - netzah   Cytat(Seth @ 2004-10-10 21:24:12)(...) nijak ...   11.10.2004, 07:53:29
- - hawk   Kolejna porcja głupoty: PHP5 ma wreszcie dobrą, o...   26.10.2004, 09:05:08
- - DeyV   Cytat(serafin @ 2004-09-22 10:40:49)Gdyby tyl...   1.11.2004, 00:51:50
- - bregovic   DeyV: WOW! Dzięki za tego tips'a - to jest...   1.11.2004, 09:15:37
- - hawk   Co ma jedną wadę: pozbywamy się całkowicie error h...   1.11.2004, 12:13:10
- - DeyV   Cytat("Krolik")Z glupich bledow: - Przek...   16.11.2004, 22:05:46
- - Krolik   Hmm... zle sie wyrazilem. Chodzilo mi o to, ze sam...   17.11.2004, 08:49:38
- - hawk   @Krolik: poszukaj sobie wątku o tym, jak w php dzi...   17.11.2004, 09:19:53
- - DeyV   krolik - mowisz i masz. Oto przykład testu opisan...   17.11.2004, 10:50:17
- - Krolik   Dobrze, dobrze, moze to poprawili. Co do przekaz...   17.11.2004, 12:57:28
- - hawk   Ale oczywiście testowałeś tą Javę przez JSP?   17.11.2004, 17:13:33
- - Krolik   Nie, przez serwlet (jako kontener uzylem Jbossa, b...   18.11.2004, 09:00:52
- - bela_666   Cytat(Zyx)Otóż od php 4 interpretacjia kodu php sk...   18.11.2004, 21:16:34
- - Krolik   No i co z tego? I tak za kazdym razem skrypt musi ...   20.11.2004, 10:13:06
- - hawk   Zaraz, o jakiej kompilacji mówisz? Kod Javy kompil...   22.11.2004, 22:36:20
- - Krolik   Miałem na myśli bez akceleratora. Czy sa jakies a...   23.11.2004, 09:37:31
- - hawk   Czy jest jakiś kontener serwletów, który można zai...   23.11.2004, 09:43:53
- - hwao   Proszę wrócić do tematu przewodniego... Inaczej bę...   23.11.2004, 09:58:18


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 01:27