Kezdőoldal » Számítástechnika » Programozás » PHP-ban azt hogy tudnám...

PHP-ban azt hogy tudnám megállapítani még a kód megírása előtt, hogy gyors lesz-e illetve mennyi memóriát fog lefoglalni?

Figyelt kérdés

Kipróbáltam, egy egyszerű mysqli kapcsolódásnál az oop verzió győzött 0.4mb előnnyel, viszont egy 3.5mb-os kép felére leméretezése új kép létrehozásával több memóriába került az oop-nek.

Ezt előre hogy tudnám kalkulálni hogy eleve jól/jobban írhassam a kódot, optimalizáltabb legyen?

Linkek illetve konkrét válaszok is érdekelnének, köszönöm.



2016. febr. 5. 20:08
 1/9 A kérdező kommentje:
Ja és közel +20megát foglalt le az oop-s képátméretezés, pedig csak át lett írva egy egyfunkciós osztályra.
2016. febr. 5. 20:09
 2/9 uno20001 ***** válasza:
100%
Megnézed pl., hogy mit tárolsz, mennyit, mekkora méretűek az adott darabok, mennyi ciklus van benne, hányszor futnak le, stb… Ezek alapján már meg tudod becsülni, hogy mennyi memóriát foglalsz és, hogy mennyi lesz kb. a lépésszám, abból meg a gép ismeretében időt tudsz mondani.
2016. febr. 5. 20:54
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:
Azért még jöhetnek válaszok
2016. febr. 6. 05:42
 4/9 anonim ***** válasza:

Pedig jobb válaszokat ne várj.


A kép méreteiből (hossz x szél x bitmélység) ki tudod számolni a memóriaigényt. Az átméretező rutinod nyilván nem foglal sok helyet, de a célképnek is van foglalása, amit szintén a hossz, szél és bitmélység alapján tudsz kiszámolni. (egyébként ha a kép hossza, szélessége a felére lesz méretezve, akkor pont az eredeti memóriaigényének a negyedét fogja elfoglalni) Na meg, tömöríteni is kell a képet. De ilyesmit nem php-val szokás megoldani. Inkább: convert.


Azt talán mondanom sem kell, hogy a memóriafoglalást .bmp formátumban kell számolni. Pontosabban .dib-ben. Ez a device independent bitmap. Header nincs, csak a pixelek és egy pixel jellemzően 3 byte-ot foglal.

2016. febr. 7. 10:36
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
Egyébként fixre nem fogod tudni kiszámolni az átméretező rutin sebességét, mert az függ a képtartalomtól is. Legalábbis, ha valamilyen veszteséges formában (.jpg) tárolod az átméretezett képet.
2016. febr. 7. 10:42
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:

Ez csak egy példa volt, az átméretezés. De egyébként oldalra képfeltöltéskor kell a thumbnail készítés, és akár több képé is egyszerre. Ha ezt egyszerre 100 felhasználó csinálja, elviekben már le is terhelődött a szerver. Szóval nem elég a konvertálás.

A lényege a kérdésemnek az lenne, hogy hogyan tudom megállapítani előre, mielőtt megírom a kódot, hogy egy script lefutása mennyi memóriába kerül a szerveren. Annak a technikának szeretnék utánanézni, hogy egy scriptet hogy lehet gyorsra és minél kisebb energiaigényűre megírni.

2016. febr. 7. 10:50
 7/9 anonim ***** válasza:

Már bocs, de a convert egy bináris util, ami egyebek mellett át is tud méretezni, ergo, képes thumbnailek gyártására.


Azt amit szeretnél, elég nehéz script nyelv esetében összehozni, mert az interpreter akár példányosíthatja is magát, stb.

Ezeket az optimalizációkat inkább úgy szokás és sztem úgy is érdemes, hogy szimplán jobbra írod meg. Kevesebb ciklus, kevesebb egymásba ágyazás, egyszerűbb matek, jobb strukturáltság, ha lehet minél kevesebb függvényhívás.

2016. febr. 7. 11:22
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

Ja ha csak memo foglalás kell, akkor a script elején lekéred a memófoglalást, tárolod, majd a végén is és kivonod az egyik értéket a másikból.

Azonban ennek a sebességhez nem sok köze lesz.

2016. febr. 7. 11:25
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

Sebességméréshez meg vagy tíz példányban megfuttatod a scriptedet és az elején időt kérsz, tempbe rakod, meg a végén is időt kérsz és a tempet kivonod a másik időből.

Arra törekedj, hogy lehetőleg ne nagyon fusson olyan szerviz a tesztidő alatt, ami dinamikusan foglalgat memóriát.

2016. febr. 7. 11:43
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!