Autor Thema: was passiert eigentlich bei zirkulär (spelling?) geladenen Skriptlibs  (Gelesen 1285 mal)

Marinero Atlántico

  • Gast
Agent A lädt ScriptLib_1, ScriptLib_2, ScriptLib_3
ScriptLib_1 lädt ScriptLib_2, ScriptLib_3
ScriptLib_2 lädt ScriptLib_1, ScriptLib_3
ScriptLib_3 lädt ScriptLib_1, ScriptLib_2

Werden die dann mehrmals geladen. Hatte diese Woche einer von den sympathischen Leuten, mit denen ich hier zu Mittag esse Probleme.
Er behauptete, die würden irgendwie mehrmals geladen und zwar ziemlich chaotisch.
D.h. ScriptLib_1 lädt ScriptLib_2.
ScriptLib_2 läd dann wiederum ScriptLib_1
usw.
Ich persönlich versuche sowas immer zu vermeiden.

Aber er behauptete, dass würde zu elendig langen Verzögerungen führen.

Gruß Axel



Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Ja, AFAIK laden die sich mehrfach. Merkt man gerade wenn die ScriptLibs richtig viel Code enthalten.

Siehe auch hier meine Frage:

Strategie bei ScriptLibraries
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Das gegenseitige Aufrufen von Libs verhindert bereits der Compiler.

Was jedoch möglich ist, ist der mehrfache Aufruf:
- Lib1 lädt Lib2
- Modul X "used" Lib1 als auch "Lib2"

Auch bei Verwendung grosser Libs habe ich beim Messen des Traffics keinen marginalen Unterschied feststellen können, wenn Modul X nun Lib1 und Lib2 lädt oder nur Lib1.

Vermeiden sollte man solche Umstände aber trotzdem tunlichst - allein schon aus Stilfragen.

Über detailliertere Infos (ausser meinen rudimentären Messungen) würde ich mich aber auch sehr freuen.

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Auch bei Verwendung grosser Libs habe ich beim Messen des Traffics keinen marginalen Unterschied feststellen können, wenn Modul X nun Lib1 und Lib2 lädt oder nur Lib1.

Ging mir bisher eigentlich genau so. Wo ich das allerdings massiv spürte, war z.B. beim Einsatz der rtlib, wenn diese z.B. auch mehrmals aufgerufen wurde.

Da bin ich dann hergegangen, und habe mir eine "Wrapper-ScriptLib" erstellt speziell für RTLib.
Dann diese Wrapper-Lib z.B. aus der Masken-Deklaration herausgenommen und direkt z.B. in die Button - Options gesteckt. "Wrapper" ist eigentlich der falsche Ausdruck. Enthielt halt alle Routinen, die auf die rtlib zurückgreifen. Und nur in dieser WrapperLib habe ich die rtlib eingebunden.

Schwierig finde ich es schon, einen Kompromiss aus Übersichtlichkeit und dem Vermeiden von doppelt geladenen Libs zu finden. Daher auch meine Frage im Thread.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz