webForumDet fria alternativet

Förvirrad prestanda fråga

ASP

3 svar · 172 visningar · startad av Jörgen HP

Medlem sedan feb. 20012 412 inlägg
Frågan#1

Hej!

Jag tycker mig märka att jag använder en hel hög If satser och ofta flera stycken per sida och ofta med elseif inblandade. Har försökt hitta bättre sätt att lösa saker på.

Till frågan, tar som exempel 2 sätt att skriva på. Vissa säger att select case gör högre prestanda (går fortare och kräver mindre av kapaciteten) och vissa förespråkar if satser.

Ett exempel nedan:

alternativ 1, som kanske hade skrivits bättre med With Response.


If Posts < 100 then
Response.write "Ranglåg" 
elseIf Posts > 100 then
Response.write "Ranghög" 
elseIf Posts > 500 then
Response.write "Betahund" 
elseIf Posts > 1000 then
Response.write "Alfahund" 
elseIf Posts > 1500 then
Response.write "Flockledare" 
end if

Alternativ 2


Select Case Posts
    Case Posts < 100 
        sHelloText = "Ranglåg"
    Case Posts > 100 
        sHelloText = "Ranghög"
    Case Posts > 500 
        sHelloText = "Betahund"
    Case Posts > 1000 
        sHelloText = "Alfahund"
    Case Posts > 1500 
        sHelloText = "Flockledare"
End Select

vill gärna höra många varierande svar och synpunkter gällande prestanda vid kodning. Har fått blodat tand efter en bra artikel i DMZ.

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

[Redigerat av jorgen den 14 jun 2001]

Medlem sedan dec. 19998 577 inlägg
#2

If (med ElseIf) är till för att jämföra flera OLIKA variabler med värden. Du kan självklart använda den för att jämför samma variabel, men då tappar man hela konceptet med Case, plus att du måste skriva massa extra kod.

Case är till för att jämför EN variabel med flera värden.

Så är det :)

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

Medlem sedan feb. 20012 412 inlägg
#3

Hej!

Alltså är Alternativ 2 det bästa i detta fallet?

Mvh

Jörgen

------------------
*** Var går gränsen mellan långa kortbyxor och korta långbyxor? ***

Medlem sedan dec. 19998 577 inlägg
#4

Jepp

[r]

Eller, nja, ser att du försöker använda större än... tror inte Case har stöd för det... :l

Sluta splittra mig såhär... :e

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

[Redigerat av Vide den 14 jun 2001]

255 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)