tmpjail Posted August 2, 2007 Report Share Posted August 2, 2007 jautājums ir par switchošanu. ja būs vairāki switch viens iekš otra, vai tas visu nesabremzēs ? ar IFiem kods būtu nepārskatāms un varbūt arī ātrdarbību tas neuzlabotu. uzbūve ~ šāda, tikai vēl dziļāka: http://paste.php.lv/5856 p.s. varbuut aatrumaa kaut kur kodaa nokljuudiijos, bet buutiiba paliek taadi pati :) Link to comment Share on other sites More sharing options...
andrisp Posted August 2, 2007 Report Share Posted August 2, 2007 kodu neskatiijos, bet varu uzreiz teikt ka aatrumu atshkjiriiba ir tikai teoreetiska.. reeali abi varianti buus vienaadi Link to comment Share on other sites More sharing options...
tmpjail Posted August 3, 2007 Author Report Share Posted August 3, 2007 aam nu jaa vispaar, nekaadas bremzes nav, skripts izpildaas aatri :) (tikko paarbaudiiju) Link to comment Share on other sites More sharing options...
Grey_Wolf Posted August 3, 2007 Report Share Posted August 3, 2007 nu pamatdoma ir sada : ja ir 1-~~3 limenji tad izmanto elese if ja vairaak tad switchošanu ... ---- pat stipri teoretiski tas ir viens un tas pats ... no galiigaa (nokompiletaa) koda viedoklja... atskjiriiba ir tikai rakstiishanas eertiibaa & parskatamiibaa... Link to comment Share on other sites More sharing options...
Delfins Posted August 3, 2007 Report Share Posted August 3, 2007 Gudrāki cilvēki izmanto `mapošanu`, tad kad attiecīgajam masīva elementam vai nu paņem vērtību (tālākai izmantošanai) vai nu izsauc f-ju, kuras handle/nosaukums ir ierakstīta iekšā. PS: tas gan vairāk attiecās uz page-switching un parametru parsēšanu. Link to comment Share on other sites More sharing options...
signis Posted August 3, 2007 Report Share Posted August 3, 2007 Delfin, var par so drusku siikaak? Vai resursu kur tas ir apskaidrots? Link to comment Share on other sites More sharing options...
Delfins Posted August 3, 2007 Report Share Posted August 3, 2007 Da pilns forums ar piemēriem, atliek tikai paskatīties šajā topikā - http://php.lv/f/index.php?showtopic=2935 Link to comment Share on other sites More sharing options...
Kristabs Posted August 3, 2007 Report Share Posted August 3, 2007 Ar mapošanu protams vieglāk/ātrāk/rediģējamāk. Ja nu nav tādas iespējas, tad atliek vien atcerēties, iespējami biežākās sakritības likt pašā augšā, lai pēc iespējas mazāk salīdzināšanām būtu jāiet cauri. Link to comment Share on other sites More sharing options...
Delfins Posted August 3, 2007 Report Share Posted August 3, 2007 Imho, pat ja case-u skaits ir virs 1000, tad atšķirību nevarēs pamanīt ar aci. Link to comment Share on other sites More sharing options...
bubu Posted August 3, 2007 Report Share Posted August 3, 2007 php varbūt arī nē, bet c++'ā gan. Man ir gadījies uzrakstīt, jeb pareizāk sakot uzģenerēt, tik viltīgu kodu (tb case nosacījumus), ka kompilētājs tos optimizējot izdomāja salikt tos branch tabulā. Taču šī tabula iznāca tik liela - vairāki simti kilobaitu, ka šis kods, kurš izsaucās diezgan bieži kompilēšanas laikā čakarēja dzīvi kešatmiņai. Dēļ tā visa programma strādāja lēnāk. Pārveidojot vairākus cases uz if'iem pirms switch binārā kokā panācu to, ka branč tabula sanāca vairākas kārtas mazāka - tikai daži kilobaiti, un programma tā rezultātā strādāja vismaz divas reizes ātrāk. Link to comment Share on other sites More sharing options...
Recommended Posts