realbasic-nug.de
[Top] [All Lists]

Re: zu langsamer Code

To: realbasic-nug dot de at lists dot realsoftware dot com (REALbasic NUG German)
Subject: Re: zu langsamer Code
From: support at monkeybreadsoftware dot de (Christian Schmitz)
Date: Thu, 20 Oct 2005 23:19:54 +0200
Comments: Written on a PowerMac G4 and sent via DSL.
Delivered-to: realbasic-nug dot de at lists dot realsoftware dot com
Stefan Mettenbrink <S dot Metti at gmx dot de> wrote:

> BTW, ich habe es gerade mal mit Join ausprobiert. Ist hier nicht 
> schneller. Im schnitt bei drei Durchläufen nahezu exakt derselbe Wert
> wie zuvor beim addieren der Strings.
> 
> Mache ich etwas falsch?

Bei  9999 als Grenze: 1 und 0
Bei 99999 als Grenze: 900 und 3

Der Aufwand bei TestAdd steigt Exponential, der bei Join eher linear.
Das Array sollte vorher in passender Größe erzeugt werden, sonst wird es
mit Append dauernd umkopiert.

Function testAdd() As string
  dim a as string
  dim i as integer
  
  for i=0 to 99999
    a=a+"a"
  next
  return a
End Function

Function TestJoin() As string
  dim i as integer
  dim a(100000) as string
  
  for i=0 to 99999
    a(i)="a"
  next
  
  Return Join(a)
End Function

Sub Open()
  dim s as string
  dim t as integer
  
  t=ticks
  s=TestAdd
  t=ticks-t
  
  MsgBox str(t)
  
  t=ticks
  s=TestJoin
  t=ticks-t
  
  MsgBox str(t)
  
  
End Sub


Mfg
Christian

-- 
Around ten thousand functions in one REALbasic plug-in. The MBS Plugin.
<http://www.monkeybreadsoftware.de/realbasic/plugins.shtml>

<Prev in Thread] Current Thread [Next in Thread>