ugrás a tartalomhoz

Vargabetű vagy egérút? Programozás-elmélet

Eirun · 2009. Okt. 10. (Szo), 22.15
Kedves szakavatottak!

Van egy bevett praktikám PHP és ActionScript programozás terén, és szeretném megtudni, hogy mennyire káros a program futásidejét tekintve. Mivel ez nemcsak programozáselmélet, de a hardverhez is kötődik, ezért úgy véltem, szerver-oldali kollégáknál érdemesebb érdeklődnöm.

Előszeretettel keverek aritmetikai kifejezésekbe logikai operátorokat, illetve fordítva, logikai célokra aritmetikát használok:

$pontszam = 0;
$szorzo = 2;
$loszer = 120;
$ellensegek = 13;
$nyulak = 4;
if (!rand(0,10)) {
  $pontszam += $szorzo * (($loszer && !count($ellensegek)) + $nyulak);
  // $pontszam = 0 + 2 * (0 + 4);
}
Az érdekelne, hogy az ilyen jellegű kifejezések (pl. egy real-time játék esetén) jobban terhelik-e a processzort, mintha tiszta kifejezéseket használnék? Mintha olyat hallottam volna, hogy fizikailag külön helyezkednek el a processzoron belül ezek a műveleti egységek.

A válaszokat előre is köszönöm!
 
1

Nem annyira lényeges

janoszen · 2009. Okt. 11. (V), 00.03
Mivel sem az AS, sem a PHP nem fut natív kódként a processzoron, ez valószínűleg kevéssé lényeges. Nem mondom, hogy nem mérhető, de amíg nem műveletek százezreit végzed, valószínűleg elhanyagolható.

Tapasztalatom szerint sokkal fontosabb, hogy a kód érthető és egyszerűen olvasható legyen annak érdekében, hogy néhány hónap múlva is tudd, mit miért csináltál. Nem mondom, hogy nem kell sebességre optimalizálni, mert ez nem lenne igaz, de az olvashatóság rovására ne menjen. Ilyen műveleti szinten szerintem, nyugodtan írd úgy, ahogy olvasható / kézre esik.
2

Van erre valam kimutatás

Ustak · 2009. Okt. 11. (V), 09.31
Hogy egy interpretált nyelv mennyire foglalja le a procit, vagy a hálózatot mondjuk egy jquery minified gzipped stb... verzió és egy development verzió esetén?
Mi lehet az a kódméret, aminél már számítanak ezek a dolgok?

Az is érdekelne, hogy mi ennek a háttere (mondjuk milyen úton jut el a vashoz egy interpretált nyelv (js vagy php) utasítása).
Béke:
Gábor.