Jump to content
php.lv forumi

vairāki switchi


tmpjail

Recommended Posts

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

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

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

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

×
×
  • Create New...