Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Speicherbedarf von Integer minimieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Speicherbedarf von Integer minimieren (569 mal gelesen)
Opa
Mitglied
Selbständiger Simulationsexperte


Sehen Sie sich das Profil von Opa an!   Senden Sie eine Private Message an Opa  Schreiben Sie einen Gästebucheintrag für Opa

Beiträge: 62
Registriert: 16.06.2005

eM-Plant 7.6 / 8.2
Development License

erstellt am: 08. Nov. 2010 20:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Mein Modell enthält sehr viele Tabellen mit sehr vielen Integer-Werten: genau 1.624.860 Einträge. Dadurch benötigt es auf der Festplatte >12 MB, ohne diese Daten sind es nur gut 6 MB - die Speicherplatztreiber sind also diese Integers. Zum Datenaustausch über eMail mit meinem Kunden sollen es aber nicht mehr als 8 MB sein. Da die Zahlen max. 4 Stellen haben, würden 2 Byte/Wert genügen - solche Möglichkeiten gibt's ja in anderen Systemen.

Habe schon probiert, die Zahlen als String zu verwalten, bringt aber nichts. Da viele Zahlen mehrfach vorkommen wäre auch ein Verweis in eine Tabelle denkbar, aber der hat ja dann auch wieder mindestens Integer- oder Stringgröße.

Also meine Frage: hat jemand eine Idee, wie man bei so kurzen Zahlen Speicherplatz sparen kann?

Bin für jeden Tipp dankbar.

Gruß
Opa

[Diese Nachricht wurde von Opa am 08. Nov. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Opa
Mitglied
Selbständiger Simulationsexperte


Sehen Sie sich das Profil von Opa an!   Senden Sie eine Private Message an Opa  Schreiben Sie einen Gästebucheintrag für Opa

Beiträge: 62
Registriert: 16.06.2005

eM-Plant 7.6 / 8.2
Development License

erstellt am: 09. Nov. 2010 12:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo liebe Mitglieder,

ich versteh' Plant nicht!

Nachdem es wohl keine Beschränkung für den Integer-Speicherplatz gibt habe ich aus meinen 5310 Tabellen 1 Spalte entfernt. Vorher war für eine Tabelle memUsage 10925, danach noch 6641 - so weit so schön, müsste also ca. 22.748.040 Byte sparen (im Modell, auf der Platte wg. packen natürlich weniger, aber trotzdem noch viel)!

Beim Speichern wird aber nahezu derselbe Speicherplatz gebraucht (nur 200 KB weniger)

Kann mir das einer erklären? Lieg ich völlig daneben?

Danke und Gruß
Opa

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tsx
Mitglied



Sehen Sie sich das Profil von tsx an!   Senden Sie eine Private Message an tsx  Schreiben Sie einen Gästebucheintrag für tsx

Beiträge: 103
Registriert: 06.03.2010

erstellt am: 09. Nov. 2010 19:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Opa 10 Unities + Antwort hilfreich

Das Plant Simulation Modell wird beim speichern komprimiert (7-zip sagt Compound), deswegen wirkt sich die Änderung nur mit 200kb aus.
Wenn du wissen willst, wie groß das ursprünglich Modell ist, kannst du die spp-Datei (und die darin entstehende CoreData) mal mit 7-zip entpacken. Du wirst feststellen, dass es unkomprimierte Simulationsmodell rund 10x größer ist als die spp-Datei.

Wie kannst du dein Modell verkleinern?
Du kannst das Modell nochmals packen (z.B. mit WinRar oder dem quelloffenen 7-Zip). Auf diese Weise lässt sich die spp-Datei nochmals verkleinern (funktioniert aber auch nicht bei allen Modellen).

------------------
Grüße,
tsx 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Opa
Mitglied
Selbständiger Simulationsexperte


Sehen Sie sich das Profil von Opa an!   Senden Sie eine Private Message an Opa  Schreiben Sie einen Gästebucheintrag für Opa

Beiträge: 62
Registriert: 16.06.2005

eM-Plant 7.6 / 8.2
Development License

erstellt am: 09. Nov. 2010 20:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo tsx,

danke für Deine Antwort.

Dass die Modelle gepackt werden war mir schon klar, aber trotzdem müsste doch bei Einsparung von 1/3 der Daten etwas mehr rauskommen als nur 200 KB.

Ich muss mir was anderes ausdenken, schon doof, dass der Kunde diese Beschränkung hat

Nochmal Danke und Gruß
Opa

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

planty
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von planty an!   Senden Sie eine Private Message an planty  Schreiben Sie einen Gästebucheintrag für planty

Beiträge: 139
Registriert: 18.09.2006

erstellt am: 10. Nov. 2010 10:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Opa 10 Unities + Antwort hilfreich

Moin,

ein vierstelliger Integer in einer Tabelle belegt in der Modelldatei 10 Byte(Zeichen), bei einstelligem Spaltenindex, ein String sogar 12.
10 * 1.624.860 / 1024 / 3 (Kompressionsrate für Text) das entspricht bummelig 5.3 MB, deckt sich mit Deinen Beobachtungen.

Eine Textdatei mit entsprechenden Einträgen hat 9.3 MB, gepackt 3 MB.

Kleiner wirst Du nicht werden, wenn Du die Einträge nicht binär ablegst.

Aber ich finde wer das Geld hat sich eine PS Simulation erstellen zu lassen kann heutzutage auch einen Weg finden eine 12MB Datei zu übertragen.

Gruß
P.

------------------
Two hours of trial and error can save ten minutes of manual reading!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Opa
Mitglied
Selbständiger Simulationsexperte


Sehen Sie sich das Profil von Opa an!   Senden Sie eine Private Message an Opa  Schreiben Sie einen Gästebucheintrag für Opa

Beiträge: 62
Registriert: 16.06.2005

eM-Plant 7.6 / 8.2
Development License

erstellt am: 10. Nov. 2010 11:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo planty,

danke für die Info über die Speicherbelegung, seehr nützlich.

Ich habe es jetzt so gemacht: die Zahlen (<64000) als strings abgelegt (binär), uns zwar:

Highbyte:=zahl//255
Lowbyte :=zahl-Highbyte*255

dann string abgespeichert als chr(Lowbyte)+chr(Highbyte)

Lässt sich nachher rückwärts wieder auspacken und spart 2,3 MB!

Gruß
Opa

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz