Autor Thema: Speichergrenze für Arrays?  (Gelesen 4964 mal)

samWare

  • Gast
Speichergrenze für Arrays?
« am: 13.07.09 - 13:04:23 »
Hallo Leute,

für mein nächstes Projekt lese ich gigantische Datenmengen in ein 6 Dimensionales Array ein. Da ja Notes viele Schranken enthält, wollte ich fragen, ob ich ab einer bestimmten größe des Arrays mit Problemen rechnen muss. Währe nett wenn ihr so schnell wie möglich antworten könntet!

(Sorry für den Doublepost, aber ich habe das Gefühl dass keiner im N7 Entwickler Board liest ;))
« Letzte Änderung: 07.09.09 - 14:56:08 von samWare »

samWare

  • Gast
Re: Speichergrenze für Arrays?
« Antwort #1 am: 13.07.09 - 13:05:00 »
--Sorry hatte statt auf "Editieren" auf "Zitieren" geklickt--

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Speichergrenze für Arrays?
« Antwort #2 am: 13.07.09 - 13:10:26 »
Siehe DesignerHelp unter "Limits on array variables in LotusScript". By 64kB ist Ende Gelände.

Bernhard

samWare

  • Gast
Re: Speichergrenze für Arrays?
« Antwort #3 am: 13.07.09 - 13:51:26 »
Danke dir Bernhard...

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Speichergrenze für Arrays?
« Antwort #4 am: 13.07.09 - 15:46:51 »
Wozu brauchst du ein sechsdimensionales Array?

Das wäre ein Arr(Arr(Arr(Arr(Arr(Arr(0))))))
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

samWare

  • Gast
Re: Speichergrenze für Arrays?
« Antwort #5 am: 13.07.09 - 16:28:28 »
Mhh. Ich wollte richtig viele richtig große Datensätze in ein Array einlesen und danach ordentlich auswerten :'(;) Da bietet sich die Möglichkeit eines multidimensionalen Arrays geradezu an finde ich..


Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Speichergrenze für Arrays?
« Antwort #6 am: 13.07.09 - 16:31:22 »
Da kannst du zum Beispiel mit List und Type arbeiten ...
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Speichergrenze für Arrays?
« Antwort #7 am: 13.07.09 - 17:25:43 »
Ergänzung zu Thomas: Der Datentyp List ist im Gegensatz zu Arrays nur durch den maximal zur Verfügung stehenden Speicher der Kiste (physisch + virtuell) begrenzt.

Ob Du allerdings mit Arrays oder Lists schneller und / oder bequemer arbeiten kannst als mit den tatsächlichen Notes-Dokumenten, hängt schon sehr vom Einzelfall ab. Ich habe da schon Konstrukte gesehen, zu denen mir nur einfiel: Komplizierter und / oder langsamer geht es nicht.

Vielleicht kannst Du daher zu Deinem eigentlichen Anliegen genaueres sagen.

Bernhard

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Speichergrenze für Arrays?
« Antwort #8 am: 13.07.09 - 17:27:26 »
Ja ein genauer Use Case wäre nicht schlecht. Dann könnten sich Gurus wie Berhard, Werner, Ulrich und andere Gedanken machen.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Speichergrenze für Arrays?
« Antwort #9 am: 20.07.09 - 16:10:15 »
Also ich habe auch mal "riesige" Datenmengen verglichen in 2 Datenbanken. Der ursprüngliche Code hat ca 10 Stunden gebraucht. Konnte das ganze unter Einsatz von einer Liste auf ne 3/4 Stunde runterbrechen.

Also ich finde Listen gut. Wenn du bei deinen 6 Dimensionen nur 6 Werte reinpacken willst, dann würde ich diese in einem String mit definierten Delimitern packen. Diese kannst du ja dann bei Bedarf wieder splitten. Die Frage ist die hier auch noch im Raum steht, warum willst du erst alles in ein Array/Liste packen ?  Wenn du die Daten ja schon mal in der Hand hast kannst du Sie doch bestimmt auch gleich ver-edv-tieren, oder ?
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Speichergrenze für Arrays?
« Antwort #10 am: 20.07.09 - 20:46:26 »
Ein kleiner Tipp, weiß nicht ob's in deinen Use-case passt. Man kann mittels Evaluate und @Password einen Hashwert über bestimmte Felder berechnen, welcher (so gut wie) eindeutig ist. Somit kann man den Speicherplatzbedarf auf
<Länge des Hashes> * <Anzahl Dokumente> beschränken (auch wenn Listen nahezu unbegrenzt sind).
Als Listtag wählt man idealerweise den Hashwert, somit kann man sofort sagen, ob man den Wert schon verarbeitet hat.

Btw. Datenbanken vergleichen (Docs und Design) geht auch relativ einfach über DXL-Export der gewünschten Docs und anschließend mittels Tools wie beyondcompare vergleichen

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

samWare

  • Gast
Re: Speichergrenze für Arrays?
« Antwort #11 am: 29.07.09 - 12:06:21 »
Danke für diese vielen Anregungen. Hatte zwischen drin ein anderes Projekt geschrieben. Jetzt ist wieder das besagte an der Reihe.

K.A. ob das geheim ist, aber ich kann ja trotzdem mal sagen um was es eig. geht:

Ich erstelle aus zusammengetragenen App/Tsk-Dokumenten aus unserem Gruppenkalender Tages-/Monatsübersichtsdokumente (Dokumente mit Zahlenfeldern, werden in Ansichten mit "Wert als Symbol anzeigen" angezeigt). Im großen und ganzen (vom Korrektursystem her usw.) ist das schon alles ganzschön gut durchdacht (meiner Meinung nach). Wo ich nur tooootal ins Klo gegriffen habe ist beim erstellen. Dort gehe ich nähmlich nach folgender Müll-Methodik vor:

Ich baue eine entrycollection aus allen App/Tsk-Dokumenten.
 -> Durchlaufe alle Dokumente.
      |
      ->Springe ins Dokument:
Löse alle Namen / Datums-Zeitwerte auf. Mache noch andere tolle Dinge die ich jetzt nicht sagen will.

Ich hab im vorherigen Schritt unter anderem 2 Arrays gebildet. Eins für die Namen, eins für die Datum/Zeit-Werte.
Jetzt giebts ne Schleife die Alle Namen durchläuft. In dieser Schleife ist ne Schleife die die Datum/Zeit-Werte durchläuft.

JETZT KOMMT DER PERFORMANCE-SCHROTT: Ich sehe dann jeweils nach ob zu dem jeweiligen Namen/Datum/Zeitwert bereits ein Dokument besteht. Wenn ja update ich das jeweilige Dokument (dabei wird halt immer nur der eine Symbolwert in das einschlägige Feld geschrieben). Wenns noch kein Dokument zu den jeweiligen Daten besteht lege ich eines an.

Meine Idee zur Verbesserung war das ganze mit sonem Dicken fetten Array zu lösen, in das ich alle meine Werte aufeinmal einlese und danach gezielt in einem aufwasch in die Dokumente schreibe. Damit hätt ich das Zeitaufwendige rumgespeichere nicht mehr, sondern würde jedes Dokument halt nur einmal Speichern.

Natürlich kann man das oben beschriebene ZeitArray komplett mit den jeweils möglichen Zeitpunkten des zu updatenden/erstellenden Dokuments vergleichen und dann eintragen und einmal Speichern.

Ist aber noch nicht die optimale Lösung da es sich bei den einzelnen Feldern im Dokument um Mehrfachfelder handelt, in dem dann eben die - sich möglicherweise überschneidenden - Termine aufgelistet werden (ja sowas ist vom logischen Standpunkt her möglich^^). Das macht es mir beim Korrigieren leichter (veränderungen am App/Task-Dokument werden natürlich auch behandelt, ich nenne das hier "Korrigieren").

Vllt. wisst ihr ja die optimale Lösung  ;D Ich bin wahrscheinlich einfach noch zu unerfahren für derartige Riesenprojekte..

Danke schon mal im voraus...
« Letzte Änderung: 29.07.09 - 12:14:09 von samWare »

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Speichergrenze für Arrays?
« Antwort #12 am: 29.07.09 - 12:33:55 »
Arbeite mit Listen.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

samWare

  • Gast
Re: Speichergrenze für Arrays?
« Antwort #13 am: 29.07.09 - 13:34:43 »
Bin dabei  ;)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz