Gibt es eine max. Arraylänge??????



  • cascoin schrieb:

    werden dann systemdaten überschrieben??
    cascoin

    Das mit sicherheit nicht, wär ja schlimm 😃



  • Probier es doch einfach aus was auf deinem System gerade so geht.

    Aber wie (fast) immer in der Programmierung: Wenn dich das Limit interessiert machst du was falsch.



  • Ok,
    Wenn man also von 800MB (hat "unskilled" gesagt)ausgeht, hätte man wenn der Array nur aus double's besteht 100 Mio Zeilen......
    Ist ja schon ein Haufen.
    Ausprobieren kann ichs noch net weil ich noch net so weit bin.....
    Aber das reicht locker. Ich hatte schiss das es nur bis 1 Mio oder so geht.

    Jedenfalls Danke für eure Antworten.....

    Ade 👍



  • Für die Interessierten:

    bei 500 millionen einträgen kompiliert mein Compiler nicht mehr 🙂

    --> total size of array must not exceed 0x7fffffff bytes

    125000000 schafft mein PC locker dauert nur halt ein paar sekunden, bei 200000000 Einträgen klappts nicht mehr so super, irgentwann hab ich aufgehört, weiß nicht ob es klappen würde 🙂


  • Mod

    uhsuhz schrieb:

    --> total size of array must not exceed 0x7fffffff bytes

    Das sind einfach 2GB, was die theoretische Obergrenze für normale Anwendungen unter einem 32-Bit Windows ist. Daher rate ich auch mal, dass du dein Programm für diese Plattform kompilierst. Abgesehen davon hat diese Zahl aber keine besondere Bedeutung.



  • Ich fasse mal die Frage und die Anworten in einer neuen Frage zusammen:
    "Kann ich - rein biologisch - eine Million Jahre alt werden? 😮



  • Nein!



  • berniebutt schrieb:

    Ich fasse mal die Frage und die Anworten in einer neuen Frage zusammen:
    "Kann ich - rein biologisch - eine Million Jahre alt werden? 😮

    Du kannst nicht einmal zwanzig Jahre alt werden. Ist auch keiner hier. Denn nahezu alle (oder waren es gar alle?) Zellen deines Körpers werden vorher durch neue ersetzt. 😛



  • Fellhuhn schrieb:

    Aber wie (fast) immer in der Programmierung: Wenn dich das Limit interessiert machst du was falsch.

    Nicht beim Numbercrunching, um das es hier wohl geht. Es gibt nun mal Probleme, deren Speicherbedarf so schnell wächst, dass die maximalen Grenzen sehr relevant werden. Bei einer Klassifizierung mit einer SVM ist ein Speicherbedarf von N^2 durchaus ausreichend, dass man ab 10.000 Elementen Probleme mit der Machbarkeit kriegt.



  • Deswegen steht da ja auch "(fast)". :p



  • Fellhuhn schrieb:

    Deswegen steht da ja auch "(fast)". :p

    wenn mit "fast" meinst: "es ist im ursprünglichen Kernbereich der Informatik absolut relevant" - dann sind wir uns einig 😉


  • Mod

    Fellhuhn schrieb:

    Du kannst nicht einmal zwanzig Jahre alt werden. Ist auch keiner hier. Denn nahezu alle (oder waren es gar alle?) Zellen deines Körpers werden vorher durch neue ersetzt. 😛

    Aber die Zellen vermehren sich durch Teilung. Welche der Zellen ist nach der Teiliung das Original und welche die Kopie? 😉



  • Also,

    linear lassen sich bei 32bit Adressraum höchstens 232 Bytes ansprechen. Nichtlinear sind es allerdings viel mehr, begrenzt meist durch Speichervolumina (gemeint ist z.B. die Festplatte, nicht RAM). Das ist jedoch plattformspezifisch und muss mit entsprechenden Mitteln geschehen (unter Windows etwa file mapping / shared memory).

    Auf zeitgemäßen non-embedded Systemen mit zeitgemäßen OS und Applikationen ist ein kleiner Adressraum natürlich weniger ein Problem.


Anmelden zum Antworten