[GastForen Programmierung/Entwicklung AppleScript Geschwindigkeit: Variable oder item x?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Geschwindigkeit: Variable oder item x?

Goar
Beiträge gesamt: 395

12. Jul 2004, 20:49
Beitrag # 1 von 2
Bewertung:
(570 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans

am Anfang von repeat-Schleifen weist Du den Wert, der gerade dran ist einer Variablen zu. Zum Beispiel:
---
repeat with m from 1 to count of paragraphs
set actPara to paragraph m
…
---

Im Folgenden wird dann mit dieser Variablen weiter gearbeitet. Ich habe dunkel in Erinnerung, das das auch Geschwindigkeitsgründe hat. Daher meine Frage:

Ist es generell sinnvoller, vor allem in repeat-Schleifen, wo Listen(-in-Listen) be- oder verarbeitet werden, die Werte in Variablen umzuspeichern, bevor damit weiter gearbeitet wird?
---
set theVar to item 1 of item 2 of anyList
do something with theVar
set item 1 of item 2 of anyList to theVar
-- oder besser/schneller
do something with item 1 of item 2 of anyList
---

Ist es beim Anhängen von Werten an eine bestehende Liste(-in-Liste) entsprechend?

Schnelle Grüße, Goar
X

Geschwindigkeit: Variable oder item x?

Hans Haesler
  
Beiträge gesamt: 5826

13. Jul 2004, 00:20
Beitrag # 2 von 2
Beitrag ID: #418888
Bewertung:
(569 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Goar,

soweit ich mich jetzt auf die Schnelle an diverse Tests zurückerinnere, spielt es keine Rolle, ob die
Elemente einer Liste zuerst in eine Variable gegeben oder direkt gebraucht werden.

Hingegen ist es bei längeren Listen äusserst wichtig das Wörtchen 'my' vor den Variablen-Namen der Liste
zu setzen. Damit wird ein erheblicher Geschwindigkeits-Schub erricht. Diese Tatsache ist hier schon
mehr als einmal erwähnt und mit Beispielen illustriert worden. Zum Beispiel: "Zugriff auf Listen-Elemente
beschleunigen" http://www.page-online.de/page/forum/viewthread/208

Man muss aber unter gewissen Umständen darauf achten, dass die Liste als 'global' bekannt ist. Siehe das
Thema "Suche in verschachtelten Listen - möglich?" http://www.page-online.de/page/forum/viewthread/2261

Das Anhängen von Werten an eine Liste sollte immer nach dem Muster 'set end of aList to x' vorgenommen
werden und ja nicht so: 'set aList to aList & x'. Näheres dazu steht auch im ersten der beiden
erwähnten Themen. Und ebenfalls wie man Geschwindigkeitsmessungen durchführt.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418887]