webForumDet fria alternativet

Går detta att göra "snabbare"?

ASP

3 svar · 287 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1

I arrayn list så lagra jag alla Godkända taggar som ska ersättas av en egen kod. Just nu kör jag en elseIf sats och en for sats för att nolla alla ställer i texten och bara lägga in korrekt kod. men denna IF och elseIF koder kommer ju vara mil långa... kan man lösa det på något smidigare och kanske snabbare sätt?

function free(str)
list = array("mainpage","banner","pageload","T_HEAD_STYLESHEET","SITENAME","PAGE_TITLE")
  if instr(str,"mainpage}") then
    mainpage()
  elseif instr(str,"pageload}") then
    Response.Write FormatNumber((Timer() - strStartTimer), 3)
  elseif instr(str,"T_HEAD_STYLESHEET}") then
    response.write DIRECTORY & cssfile
  elseif instr(str,"PAGE_TITLE}") then
    response.write "powered by VPanel"
  elseif instr(str,"SITENAME}") then
    response.write title
  end if

  for u = 0 to ubound(list)
    str = replace(str,list(u) & "}","")
  next

  free = str
end function
Medlem sedan nov. 20017 144 inlägg
#2

elseif brukar ju ersättas med select/case för att öka prestanda och få en tydligare kod. Jag vet inte om det är att föredra i detta fall?

Medlem sedan juni 20019 519 inlägg
#3

Funderade på det också.. så slect/case är snabbare än if/elseif satser?

Medlem sedan mars 20032 667 inlägg
#4

Select case används när man gör en återkommande jämförelse med en variabel inblandad. I detta fall kan du alltså inte använda select case.

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)