Type-Begrenzung ?
Übersicht

![]() |
Kernle 32DLLBetreff: Type-Begrenzung ? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich bastel grad an nem Programm, das evt. später seeeeehr viele Type-Einträge haben könnte. Also ich meine nicht... Type Bla Field BlaFeld End Type Sondern das... a.Bla = New Bla Meine Frage ist nun, gibt es da irgentwo meine Begrenzung ? Also, kackt BB z.b. ab wenn es mehr als ~32000 Type-Einträge zu verwalten hat ? Genrell würde mich es interessieren wie die Begrenzungen in BB (bzw. B3D) sind. Also wie lang kann z.b. ein String maximal sein ? Grüßle: Kernle |
||
Mein PC: "Bluelight" - Xtreme Gamer PC [Video]
Meine Projekte: Cube-Wars 2010 [Worklog] Anerkennungen: 1. Platz BCC #7 , 1. Platz BCC #22 , 3. Platz BAC #89 Ich war dabei: NRW Treff III, IV ; Frankfurter BB Treffen 2009 |
![]() |
SchnittlauchUnkraut |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jenachdem wie viel Speicher du hast. | ||
Ich wars nicht. |
![]() |
Kernle 32DLL |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was heißt das genau ? Wieviel speicher belegt denn so
ein Type Feld durchschnittlich ? (evt. müssen bei mir später weit über 32000 Tausend Felder gespeichert werden, daher mach ich mir was sorgen ^^) Aber danke für die schnelle Antwort ^^ |
||
Shark |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja ich habe gerade mal schnell ein Testprogramm geschrieben.
Code: [AUSKLAPPEN] Graphics 800,600,16,2
SetBuffer BackBuffer() Const max% = 1000000 SeedRnd MilliSecs() Type test Field a% Field b% Field c% Field d% End Type For i = 1 To max t.test = New test t\a = Rnd(0,32000) t\b = Rnd(0,10) t\c = Rnd(100,1000) t\d = Rnd(0,32234) Next s = MilliSecs() For t.test = Each test t\a = t\a + t\b + t\c + t\d Next speed = MilliSecs()-s Text 10,10,"dauert: "+speed+" ms." Flip WaitKey() End Bei deinen 32000 Einträge geht er alle Einträge in 1 ms durch. Brauchs dir also keine so großen Sorgen zu machen ![]() mfg Shark |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
also die Containervariable nimmt garantiert 4 Byte ein, da es ein Handle ist.
Dann pro String Länge+2Byte pro Integer 4Byte pro Fließkommazahl 4Byte Also Rechnen! |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wozu sollte man die id-Handle in die Datei mitspeichern, zudem es unmöglich ist ein fragmentiertes Typefeld in den selben Zustand zu bringen, wie es mal war, nachdem man id-Handle bei Types eingeschaltet hat.
Fazit: id-Handle eingeschaltet: Fragmentierte Typefelder können nicht mehr in gleicher weise rekonstruiert werden, weil der Programmierer keinen Einfluss auf die id-Vergabe hat. Er kann höhstens nur den Ablauf (schreiben, löschen, schreiben...) nachrekonstruieren, um den ursprünglichen Zustand zu bekommen. id-Handle ausgeschaltet: Typefelder 'defragmentieren' sich automatisch, verzögert zwar einmal die Ablaufgeschwindigkeit, wird aber dann durch ewig schnellere Ablaufgeschwindigkeit belohnt. id-Handle ist gleich der Reichenfolge der Typeliste und kann - soweit ich weiß - in diesem Zustand nicht ausgelesen werden. |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
war denn je die frage des abspeicherns? | ||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das stimmt so übrigens nicht. Ein Type kann grösser sein, als die reinen Byte die er eigentlich brauchen würde, denn das OS wird es vorziehen, entsprechend seiner eigenen Struktur zu vergeben, das heisst 32Bit in 4Byte blöcken etc. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Kernle 32DLL |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, also so weit ich das verstanden habe, muss ich mir nicht
so große Sorgen machen ? ^^ Ich hab mich das gefragt, weil ich (wie man irgentwo im Projekts Forum lesen kann) einen Vokabeltrainer programmiere, und wir gerade in der Schule im Informatikunterricht über Integer,etc reden. Da mein Vokabeltrainer ja auch mehrere Klassen verwalten soll, hatte ich mir darum ein paar Gedanken gemacht, denn ich verknüpfe meine Types so: Klasse ---> Unit ------> Vokabelliste ---------> Vokabel ------> Test ---------> Aufgabe Und wenn eine Klasse schon 590 Vokabeln hat, und somit auch ungefähr 590 Aufgaben, kommt da schon ein großer Daten-Berg zusammen ![]() ![]() |
||
Mein PC: "Bluelight" - Xtreme Gamer PC [Video]
Meine Projekte: Cube-Wars 2010 [Worklog] Anerkennungen: 1. Platz BCC #7 , 1. Platz BCC #22 , 3. Platz BAC #89 Ich war dabei: NRW Treff III, IV ; Frankfurter BB Treffen 2009 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group