Paul Eppner: Speicherplatz auslesen?

Hallo,

da die letzte Diskussion hier so schön funktioniert hat, habe ich gleich noch eine Frage.

Kennt Ihr eine Möglichkeit den aktuell benutzten Speicherplatz von JS auszulesen, so das man Speicherfresser besser erkennen kann?

gruß, paul

  1. Kennt Ihr eine Möglichkeit den aktuell benutzten Speicherplatz von JS auszulesen, so das man Speicherfresser besser erkennen kann?

    nein.

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. blödes JS *gg*

      gruß, paul

      1. blödes JS *gg*

        Naja, eigentlich gibt es keine Notwendigkeit für eine solche Funktion, um den Speicher kümmert sich der Browser.

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. Hallo,

          blödes JS *gg*

          Naja, eigentlich gibt es keine Notwendigkeit für eine solche Funktion, um den Speicher kümmert sich der Browser.

          Oh doch! Es gibt ziemelich viele gelegenheiten, wo es sehr notwendig ist, warum der Browser plötzlich 100% CPU braucht (Ja, auch JavaScript kann arge Memoryleaks verursachen), oder warum ein Srcript "ewig" braucht bis es ausgeführt ist.

          Und tools gibt es auch dafür, z.B. http://www.getfirebug.com/js.html

          Grüße
          Thomas

          1. Naja, eigentlich gibt es keine Notwendigkeit für eine solche Funktion, um den Speicher kümmert sich der Browser.

            Oh doch! Es gibt ziemelich viele gelegenheiten, wo es sehr notwendig ist, warum der Browser plötzlich 100% CPU braucht (Ja, auch JavaScript kann arge Memoryleaks verursachen), oder warum ein Srcript "ewig" braucht bis es ausgeführt ist.

            Das eine hat aber nichts mit den anderen zu tun. Memoryleaks sind Programmierfehler der Browser und eine fehlerhafte Schleife wirst du auch damit nicht in den Griff bekommen, dass du Speicher freigibst.

            Und tools gibt es auch dafür, z.B. http://www.getfirebug.com/js.html

            Ich hab den auch, benutzt ihn aber nie, damit kann man JS Speicher wieder frei geben oder auch den Verbrauch ermitteln?

            Struppi.

            --
            Javascript ist toll (Perl auch!)
            1. Hallo,

              Naja, eigentlich gibt es keine Notwendigkeit für eine solche Funktion, um den Speicher kümmert sich der Browser.

              Oh doch! Es gibt ziemelich viele gelegenheiten, wo es sehr notwendig ist, warum der Browser plötzlich 100% CPU braucht (Ja, auch JavaScript kann arge Memoryleaks verursachen), oder warum ein Srcript "ewig" braucht bis es ausgeführt ist.

              Das eine hat aber nichts mit den anderen zu tun. Memoryleaks sind Programmierfehler der Browser und eine fehlerhafte Schleife wirst du auch damit nicht in den Griff bekommen, dass du Speicher freigibst.

              Das ist korrekt, aber wenn du weisst, an welcher Stelle der Browser "alle Viere streckt", kannst du deinen Kode dahingehend abändern. Es bleibt einem auch nichts anders übrig, wenn man die Seite benuztbar haben will.

              Und tools gibt es auch dafür, z.B. http://www.getfirebug.com/js.html

              Ich hab den auch, benutzt ihn aber nie, damit kann man JS Speicher wieder frei geben oder auch den Verbrauch ermitteln?

              Er kann schon mal helfen.
              Tab: Console --> Profile --> Seite aufrufen, oder die Funktion ausführen --> nochmal Profile.
              Danach kann man sehen welche Funktionen bzw. deren Teile wie oft aufgerufen und wie lange jeweils die Ausführung gebraucht hat. Das ist schon ein erster Indiz wenn man den Verdacht hat, dass der Browser irgendwo bei der Seite den Speicherbedarf ins "unermessliche" steigert.
              Betreibt man die Sache im professionelleren Rahmen, kann man Tools wie http://www.softwareverify.com/javascript/memory/index.html nehmen.
              Für IE muss man sich aber leider trotzdem in diversten technsichen Artikel einlesen.

              Grüße
              Thomas

              1. Naja, eigentlich gibt es keine Notwendigkeit für eine solche Funktion, um den Speicher kümmert sich der Browser.

                Oh doch! Es gibt ziemelich viele gelegenheiten, wo es sehr notwendig ist, warum der Browser plötzlich 100% CPU braucht (Ja, auch JavaScript kann arge Memoryleaks verursachen), oder warum ein Srcript "ewig" braucht bis es ausgeführt ist.

                Das eine hat aber nichts mit den anderen zu tun. Memoryleaks sind Programmierfehler der Browser und eine fehlerhafte Schleife wirst du auch damit nicht in den Griff bekommen, dass du Speicher freigibst.

                Das ist korrekt, aber wenn du weisst, an welcher Stelle der Browser "alle Viere streckt", kannst du deinen Kode dahingehend abändern. Es bleibt einem auch nichts anders übrig, wenn man die Seite benuztbar haben will.

                Du weißt doch gar nicht an welcher Stelle und willst du in jeder Zeile eine Prüfung machen was, wieviel Speicher vebraucht hat?
                Und die Speicherlöcher die mir bekannst sind, sind in der Praxis meistens irrelevant, da sie erst nach 10,000 von Zugriffen auftreten.

                Und tools gibt es auch dafür, z.B. http://www.getfirebug.com/js.html

                Ich hab den auch, benutzt ihn aber nie, damit kann man JS Speicher wieder frei geben oder auch den Verbrauch ermitteln?

                Er kann schon mal helfen.
                Tab: Console --> Profile --> Seite aufrufen, oder die Funktion ausführen --> nochmal Profile.

                Das hat null mit dem Speicher zu tun. Mit einem Pofiler ermittelst du die Geschwindigkeit.

                Danach kann man sehen welche Funktionen bzw. deren Teile wie oft aufgerufen und wie lange jeweils die Ausführung gebraucht hat. Das ist schon ein erster Indiz wenn man den Verdacht hat, dass der Browser irgendwo bei der Seite den Speicherbedarf ins "unermessliche" steigert.

                Wieso sollte er das tun? Die Speicherlöcher die mir bekannt sind, wirst du auch mit solchen Hilfsmittel nicht finden und ansonsten ist mir zumindest noch keine Situation über dem Weg gelaufen wo ich gerne gewußt hätte wie gross der Speicherverbrauch ist, in Ermangelung an grossen Datenmengen spielen bei JS andere Faktoren eine Rolle.

                Struppi.

                --
                Javascript ist toll (Perl auch!)
                1. Hallo,

                  Du weißt doch gar nicht an welcher Stelle und willst du in jeder Zeile eine Prüfung machen was, wieviel Speicher vebraucht hat?
                  Und die Speicherlöcher die mir bekannst sind, sind in der Praxis meistens irrelevant, da sie erst nach 10,000 von Zugriffen auftreten.

                  Das hat null mit dem Speicher zu tun. Mit einem Pofiler ermittelst du die Geschwindigkeit.

                  Richtig, aber du kannst sehen wenn eine Funktion "ausschlägt".

                  Wieso sollte er das tun? Die Speicherlöcher die mir bekannt sind, wirst du auch mit solchen Hilfsmittel nicht finden und ansonsten ist mir zumindest noch keine Situation über dem Weg gelaufen wo ich gerne gewußt hätte wie gross der Speicherverbrauch ist, in Ermangelung an grossen Datenmengen spielen bei JS andere Faktoren eine Rolle.

                  Das ist interessant, denn mit dem verlinkten Tool haben wir schon solche Memoryleaks aufspühren und beseitigen können (koplette Webseite über Ajax)

                  Na ja, jedem das seine ;-)

                  Grüße
                  Thomas

                  1. Das hat null mit dem Speicher zu tun. Mit einem Pofiler ermittelst du die Geschwindigkeit.

                    Richtig, aber du kannst sehen wenn eine Funktion "ausschlägt".

                    und sie ist wie lange sie braucht, ich sehe da keinen Zusammenhang im Speicherverbrauch

                    Wieso sollte er das tun? Die Speicherlöcher die mir bekannt sind, wirst du auch mit solchen Hilfsmittel nicht finden und ansonsten ist mir zumindest noch keine Situation über dem Weg gelaufen wo ich gerne gewußt hätte wie gross der Speicherverbrauch ist, in Ermangelung an grossen Datenmengen spielen bei JS andere Faktoren eine Rolle.

                    Das ist interessant, denn mit dem verlinkten Tool haben wir schon solche Memoryleaks aufspühren und beseitigen können (koplette Webseite über Ajax)

                    Das ist ebenfalls interessant und entspricht dem was ich sagte, die bekannten Speicherlöcher, die auch teilweise vermeidbar sind, werden erst dann lästig, wenn sie häufig verursacht werden.

                    Na ja, jedem das seine ;-)

                    so sieht's aus.

                    Struppi.

                    --
                    Javascript ist toll (Perl auch!)
                2. Hi,

                  Mit einem Pofiler ermittelst du die Geschwindigkeit.

                  Und zwar die Geschwindigkeit der Gaswolke beim Austritt des Furzes ... ;-)

                  cu,
                  Andreas

                  --
                  Warum nennt sich Andreas hier MudGuard?
                  Schreinerei Waechter
                  O o ostern ...
                  Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.