|
| [VBScript] og String Concatenation .. Fra : Rune Baess |
Dato : 17-08-02 10:38 |
|
Jeg har netop klargjort en applikation i hvilken jeg udbredt har benyttet mig
af Klasser/funktioner som ligner nedenstående...
<%
Function stufflist()
out = ""
set rs = Conn.Execute("SELECT ID, Name, Value FROM Table")
while not rs.eof
ID= rs("ID")
Name= rs("Name")
Value = rs("Value ")
tmp = ""
tmp = tmp & "<html>" & Name & "<html>"
tmp = tmp & "<html>" & id & "<html>"
tmp = tmp & osv...
out = out & tmp
rs.movenext
wend
rs.close
set rs = Nothing
stufflist = out
End Function
%>
Så læste jeg på 4guys at hele ideen med at lægge strenge sammen på denne måde:
do ...
tmp = tmp & "somestring"
loop
- Giver ydelsesmæssige problemer i VBScript, især når man når et stykke hen i
loopet, deres forslag var enten at initialisere en buffer (virker kun i en
kompileret ActiveXkomponent), eller bruge en anden komponent skrevet i C++ kun
til dette formål - ingen af disse løsninger tiltaler mig umiddelbart...
- Har I evt. andre ideer / forslag, eller ER dette kun et problem med ekstremt
store udtræk ??
Rune
| |
Morten Abildgaard (17-08-2002)
| Kommentar Fra : Morten Abildgaard |
Dato : 17-08-02 12:35 |
|
Rune Baess skrev:
[klip]
> Så læste jeg på 4guys at hele ideen med at lægge strenge sammen på
> denne måde:
> do ...
> tmp = tmp & "somestring"
> loop
> - Giver ydelsesmæssige problemer i VBScript, især når man når et
> stykke hen i loopet.
[klip]
Jeg har aldrig haft problemer med den måde; Heller ikke ved pænt store
udtræk. Og det virker også lidt underligt, at det skulle give problemer -
specielt hvis man tager i betragtning, at en streng-variabel iflg.
VBScript5-referencen har en max-længde på 2 mia. karaktere. (Så vidt jeg
kan udlede.)
Jeg kan ellers (også) godt lide 4guys-siden, men har tidligere siddet i
samme situation, og læst om et problem/en bug som ikke var der.
Har du en URI?
/morten
| |
Peter Lykkegaard (17-08-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 17-08-02 13:32 |
|
"Morten Abildgaard" <fornavn@efternavn.org> wrote in message
news:Xns926D8A313AD1Bfornavnefternavnorg@212.242.40.196...
[string concatenering]
>
> Jeg har aldrig haft problemer med den måde; Heller ikke ved pænt store
> udtræk. Og det virker også lidt underligt, at det skulle give problemer -
Det giver ikke problemer som sådan, det er bare "langsomt"
> Jeg kan ellers (også) godt lide 4guys-siden, men har tidligere siddet i
> samme situation, og læst om et problem/en bug som ikke var der.
> Har du en URI?
string concatenering er håbløs langsom i VB
Selv M$ har det issue i Knowledge Base
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q170964
mvh/Peter Lykkegaard
| |
Rune Baess (18-08-2002)
| Kommentar Fra : Rune Baess |
Dato : 18-08-02 12:23 |
| | |
Rune Baess (18-08-2002)
| Kommentar Fra : Rune Baess |
Dato : 18-08-02 12:19 |
|
> Jeg har aldrig haft problemer med den måde; Heller ikke ved pænt store
> udtræk. Og det virker også lidt underligt, at det skulle give problemer -
> specielt hvis man tager i betragtning, at en streng-variabel iflg.
> VBScript5-referencen har en max-længde på 2 mia. karaktere. (Så vidt jeg
> kan udlede.)
> Jeg kan ellers (også) godt lide 4guys-siden, men har tidligere siddet i
> samme situation, og læst om et problem/en bug som ikke var der.
> Har du en URI?
Nej, men jeg har en URL
Det var her jeg stødte på det:
Snak om "String Concatenation Component"
http://www.4guysfromrolla.com/webtech/092500-1.shtml
How To Utilize String Buffering Within A VB Component
http://www.4guysfromrolla.com/webtech/100600-1.shtml
Rune
| |
|
|