Peter Keis: Größengrenze fürs Einbinden von .js-Dateien?

Hallo ForumlerInnen,
ich habe eine .js-Datei, die ich mit <script src..></script> einbinde. Diese Datei ist ca. 950 KByte groß. Im Internet-Explorer klappt das ziemlich anstandslos. Der Netscape jedoch produziert minutenlange (evt. Stunden - hatte noch keine Lust das auszuprobieren) Festplattenzugriffe, ohne dass sich sonst irgendwas tut.
Hat jemand eine ungefähre Ahnung, wo das Problem zu suchen sein könnte?
Danke an alle
Peter

  1. kleine frage: wie sieht das ganze unter netscape 6 oder mozilla aus???

    Hallo ForumlerInnen,
    ich habe eine .js-Datei, die ich mit <script src..></script> einbinde. Diese Datei ist ca. 950 KByte groß. Im Internet-Explorer klappt das ziemlich anstandslos. Der Netscape jedoch produziert minutenlange (evt. Stunden - hatte noch keine Lust das auszuprobieren) Festplattenzugriffe, ohne dass sich sonst irgendwas tut.
    Hat jemand eine ungefähre Ahnung, wo das Problem zu suchen sein könnte?
    Danke an alle
    Peter

    1. Hallo Stephan,
      um ehrlich zu sein, das habe ich (noch) nicht ausprobiert. Inwiefern wäre es hilfreich, das zu wissen?
      Es sieht im übrigen so aus, als würde NS in der Auslagerungsdatei ganz fürchterlich "herumfuhrwerken", denn auf einem System habe ich die Fehlermeldung "zu wenig virtueller Speicher" bekommen...
      Peter

      kleine frage: wie sieht das ganze unter netscape 6 oder mozilla aus???

      Hallo ForumlerInnen,
      ich habe eine .js-Datei, die ich mit <script src..></script> einbinde. Diese Datei ist ca. 950 KByte groß. Im Internet-Explorer klappt das ziemlich anstandslos. Der Netscape jedoch produziert minutenlange (evt. Stunden - hatte noch keine Lust das auszuprobieren) Festplattenzugriffe, ohne dass sich sonst irgendwas tut.
      Hat jemand eine ungefähre Ahnung, wo das Problem zu suchen sein könnte?
      Danke an alle
      Peter

      1. Hallo Peter,

        erstens, es gibt gerüchte, die besagen dass bereits bei 32 Kb ein
        Limit ist. Persönlich konnte ich das noch nicht verifizieren.

        zweitens, was eigentlich macht die js. Datei und warum zum Geier
        ist das Ding so riesig???
        eine grobe angabe der funktionen wäre also sinnvoll.
        es gibt gewisse string Operationen, die enorme Speichermengen
        brauchen, wenn sie falsch implementiert werden.

        Bye Ed X

        1. Hi Ed X,
          die Datei enthält die Definition von Arrays mit Schlagworten und eine Suchfunktion innerhalb dieser Schlagworte (offline-suche).
          NS spinnt allerdings schon bei der Ausführung der init(), mit der die Array "bestückt" werden. Dabei ist noch keine einzige String-Funktion durchgeführt.
          Die Bestückung ist ganz normal (hoffe ich) mit z.B.
          x[0]="Begriff,Begriff1,Begriff2" +
               "Begriff3,Begriff4,Begriff5" +
               "Begriff6,Begriff7,Begriff8";
          x[1]="...
          .
          .
          (Leerzeichen nur zur besseren Übersichtlichkeit)
          Und da eine ganze Menge großer Dateien indiziert werden, ergibt sich halt diese riesige Datei.
          Bei Dateigrößen bis 300 KByte funktioniert das auch völlig problemlos (in NS UND IE), aber auch 950 KByte sind offensichtlich für den IE z.B. kein Problem.
          Hilft Dir das vielleicht bei der Analyse? Ich bin nämlich mit meinem (zugegebenermaßen unvollkommenen) Latein am Ende :-(
          Peter

          1. hallo Peter K.,

            um grosse datenmengen, halten zu koennen und trotzdem nicht
             auf die vorteile von arrays zu verzichten, bin ich mittlerweile
             dazu uebergegangen, diese daten in arrayschreibweise als strings
             zu vereinbaren und nur diejenigen strings temporaer in arrays
             umzuwandeln, die gerade fuer suchfunktionen (etc) gebraucht werden;

            z.b.:

            suchString01 = '['+
             '[["begriff01"],["begriff02"],["begriff03"],["begriff04"],["begriff05"]],'+
             '[["erklaerug01"],["erklaerug02"],["erklaerug03"],["erklaerug04"],["erklaerug05"]]'+
             ']';

            suchString02 = '['+
             '[["xyz01"],["xyz02"],["xyz03"],["xyz04"],["xyz05"]],'+
             '[["abc01"],["abc02"],["abc03"],["abc04"],["abc05"]],'+
             '[["ikl01"],["ikl02"],["ikl03"],["ikl04"],["ikl05"]]'+
             ']';

            suchString03 = '[' + '[...   ...]' + ']';
             suchString04 = '[' + '[...   ...]' + ']';

            function macheDiesesUndJenes()
              {tempArray01 = eval(suchString01);
               tempArray02 = eval(suchString04);

            ...

            }

            obwohl ich noch nie datenmengen in der groessenordnung
             Deines beispiels auf den NETSCAPE losgelassen habe, bin
             ich mir ziemlich sicher, dass er mit den strings eher
             zurechtkommt, da ihm am anfang nicht gleich der gesamte
             speicher durch die vereinbarung von mehreren umfangreichen
             und wohlmoeglich noch mehrdimensionalen arrays zugeschuettet
             wird;

            probier das doch mal aus, und falls ich auf dem holzweg war,
             bitte ich um unbedingte rueckmeldung;

            by(t)e by(t)e - peterS. - pseliger@gmx.net

            1. Hallo Peter S.,
              Ui!! Das war jetzt ein Vorschlag, der mein gesamtes Konzept völlig über den Haufen schmeißt.
              Wenn ich das ausprobiere, dann muss ich mir auch ein völlig neues Suchkonzept überlegen. Das dauert Wochen. Falls ich das wirklich probiere melde ich mich auf jeden Fall (ob Erfolg oder Misserfolg).
              Auf der anderen Seite mal ins Grobe überlegt:
              Wenn ich erst Strings deklariere, die ich anschließend in Arrays umwandle, damit ich diese durchsuchen kann, wo ist dann der Speichergewinn? Oder hab' ich Dich grundsätzlich irgendwo falsch verstanden?
              Peter K.

              1. gruss Peter,

                Auf der anderen Seite mal ins Grobe überlegt:
                Wenn ich erst Strings deklariere, die ich anschließend in Arrays umwandle, damit ich diese durchsuchen kann, wo ist dann der Speichergewinn? Oder hab' ich Dich grundsätzlich irgendwo falsch verstanden?
                Peter K.

                mmh ... nun, ich bin weder informatiker noch habe ich mich jemals
                   wirklich um irgenwelche erkenntnisse bemueht, was hinter meinen
                   gestrickten programmen im speicher des rechners so ablaeuft, aber
                   aus meinen uralten BASIC-tagen auf einem kc85/1 ist mir noch
                   irgendwie im gedaechtnis haften geblieben, dass arrays und
                   operationen mit solchen besonders speicherintensiv waren, und
                   ich frage mich, warum das mit einer anderen interpreter-sprache,
                   die in einem nicht ganz ausgereiften programm laeuft, welches
                   meistens wiederum in einem nicht ganz ausgereiften betriebssystem
                   laeuft anders sein soll;

                by(t)e by(t)e - peterS. - pseliger@gmx.net

      2. hallo Peter

        ich dachte, dass es netscape 6 vielleicht noch schaffen würde... langsam habe ich aber das gefühl, dass das wirklich an der grösse liegen könnte...

        Hallo Stephan,
        um ehrlich zu sein, das habe ich (noch) nicht ausprobiert. Inwiefern wäre es hilfreich, das zu wissen?
        Es sieht im übrigen so aus, als würde NS in der Auslagerungsdatei ganz fürchterlich "herumfuhrwerken", denn auf einem System habe ich die Fehlermeldung "zu wenig virtueller Speicher" bekommen...
        Peter

        kleine frage: wie sieht das ganze unter netscape 6 oder mozilla aus???

        Hallo ForumlerInnen,
        ich habe eine .js-Datei, die ich mit <script src..></script> einbinde. Diese Datei ist ca. 950 KByte groß. Im Internet-Explorer klappt das ziemlich anstandslos. Der Netscape jedoch produziert minutenlange (evt. Stunden - hatte noch keine Lust das auszuprobieren) Festplattenzugriffe, ohne dass sich sonst irgendwas tut.
        Hat jemand eine ungefähre Ahnung, wo das Problem zu suchen sein könnte?
        Danke an alle
        Peter

  2. Hallo Peter,

    ich habe eine .js-Datei, die ich mit <script src..></script> einbinde. Diese Datei ist ca. 950 KByte groß. Im Internet-Explorer klappt das ziemlich anstandslos. Der Netscape jedoch produziert minutenlange (evt. Stunden - hatte noch keine Lust das auszuprobieren) Festplattenzugriffe, ohne dass sich sonst irgendwas tut.
    Hat jemand eine ungefähre Ahnung, wo das Problem zu suchen sein könnte?

    Netscape bekommt massive Speicherprobleme mit js-Dateien, die Zeilen von mehr als 1000 Stellen (grob gesprochen) enthalten. Vielleicht haben sich ja in Deiner JS-Datei solche lange Zeilen eingeschlichen.

    Gruß,
    Oliver