StrTran
Posted: Fri Oct 23, 2020 12:51 pm
Hallo
In meinem Code brauche ich tonnenweise Strtran () nun habe ich mal ein 51MB in einen String geladen und den mit StrTran und Net.Replace bearbeitet.
cTextIn := myReadAllLines (WorkDir()+"test.txt")
SELF:WriteCgiLog (NTrim (Seconds()))
cTextOut := cTextIn:Replace ("Variables","Lolobeifuerzwei")
SELF:WriteCgiLog (NTrim (Seconds()))
cTextOut2 := StrTran (cTextIn ,"Variables","Lolobeifuerzwei")
SELF:WriteCgiLog (NTrim (Seconds()))
StrTran braucht die doppelte Zeit. Wie kann man nachschauen , wie StrTran umgesetzt wurde?
Ich habe dann noch das versucht und das ist gleich schnell wie Variante 1
cTextOut3 := myStrTran (@cTextIn ,"Variables","Lolobeifuerzwei")
FUNCTION myStrTran (cInput REF STRING, cSuch AS STRING, cReplace AS STRING) AS STRING
RETURN cInput:Replace(cSuch,cReplace)
Liegt es daran, dass StrTran noch nStart und nCount hat ?
Gruss
Horst
In meinem Code brauche ich tonnenweise Strtran () nun habe ich mal ein 51MB in einen String geladen und den mit StrTran und Net.Replace bearbeitet.
cTextIn := myReadAllLines (WorkDir()+"test.txt")
SELF:WriteCgiLog (NTrim (Seconds()))
cTextOut := cTextIn:Replace ("Variables","Lolobeifuerzwei")
SELF:WriteCgiLog (NTrim (Seconds()))
cTextOut2 := StrTran (cTextIn ,"Variables","Lolobeifuerzwei")
SELF:WriteCgiLog (NTrim (Seconds()))
StrTran braucht die doppelte Zeit. Wie kann man nachschauen , wie StrTran umgesetzt wurde?
Ich habe dann noch das versucht und das ist gleich schnell wie Variante 1
cTextOut3 := myStrTran (@cTextIn ,"Variables","Lolobeifuerzwei")
FUNCTION myStrTran (cInput REF STRING, cSuch AS STRING, cReplace AS STRING) AS STRING
RETURN cInput:Replace(cSuch,cReplace)
Liegt es daran, dass StrTran noch nStart und nCount hat ?
Gruss
Horst