Avatar billede mysitesolution Nybegynder
26. maj 2006 - 14:34 Der er 16 kommentarer og
1 løsning

Mit program suger ram

Hej...

Når jeg kører mit program fylder det 86 MB i rammne... hvor de MB skulle komme fra ved jeg ikke helt, men det er et rimeligt simpelt program...

Jeg har et component som jeg selv har lavet hvor jeg tegner på det... har på fornemmelsen at det er der den trækker...

Men til mit spørgsmål: Er der et sted i Visual Studio .Net 2005 hvor man kan se hvad der ligger i ramne som er givet til mit program?
Avatar billede mysitesolution Nybegynder
27. maj 2006 - 14:03 #1
Så er problemet løst.. men damn hvor latterligt... Hvis man siger new ArrayList(10000) så reservere den fandme de 10000 :/
Avatar billede mcnovy Nybegynder
27. maj 2006 - 18:04 #2
jada.. det er jo det du ber den om..!

men hvis du bare efterlader den blankt.. så sørger den selv for at holde styr på hvor mange du skal bruge..!
Avatar billede mcnovy Nybegynder
27. maj 2006 - 18:07 #3
altså

private ArrayList ArrTest = new Arraylist();
Avatar billede arne_v Ekspert
27. maj 2006 - 21:15 #4
et eller andet stemmer ikke rigtigt her

en ArrayList gemmer kun referencer til objekter

4 bytes per reference på 32 bit styresystem

new ArrayList(10000) vil derfor kun allokere 40 KB

så jeg forstår det ikke !
Avatar billede mysitesolution Nybegynder
27. maj 2006 - 23:37 #5
var mere end 10000, bare princippet i det... men ville bare have den til at sige fejl hvis jeg kom over det... Hvis jeg skulle bruge det andet brugte jeg et almindelig array
Avatar billede mysitesolution Nybegynder
27. maj 2006 - 23:39 #6
det var ushort.MaxValue * byte.MaxValue så passer det...
Avatar billede arne_v Ekspert
27. maj 2006 - 23:46 #7
ah ja - 16 millioner x 4 byte = 80 MB
Avatar billede mcnovy Nybegynder
27. maj 2006 - 23:47 #8
private arraylist al = new arraylist;
public void lala();
if (al.count <= 10000)
  al.add("test");
else
  // FejlKode
Avatar billede mysitesolution Nybegynder
27. maj 2006 - 23:51 #9
helt dum er jeg heller ikke :P... troede bare jeg kunne gøre det, og så sparer de 3 linier...
Avatar billede arne_v Ekspert
27. maj 2006 - 23:53 #10
hvis du skulle gøre noget skulle du nok lave en klasse som arver fra ArrayList
(eller måske BaseCollection) og checker i Add
Avatar billede mysitesolution Nybegynder
27. maj 2006 - 23:55 #11
ushort.MaxValue * byte.MaxValue * 4 = 2^26 = 64 MB
Avatar billede mysitesolution Nybegynder
27. maj 2006 - 23:55 #12
yup, har lavet det...
Avatar billede mcnovy Nybegynder
27. maj 2006 - 23:57 #13
hehe.. ja.. sparer 3 linjer.. suge 80 Megs :)
ej..
held og lykke med det :)
Avatar billede mysitesolution Nybegynder
28. maj 2006 - 00:01 #14
ahrrggg.... man går da self. altid efter mindre linier ved samme hastighed, og jeg troede jo at den ikke allokerede...
Avatar billede arne_v Ekspert
28. maj 2006 - 02:11 #15
ups - jeg fik vist regmet lidt forkert (der er ikke moms på objekter endnu !)
Avatar billede md_craig Nybegynder
28. maj 2006 - 17:24 #16
ROFLMAO Arne_v ...
Avatar billede md_craig Nybegynder
28. maj 2006 - 17:26 #17
arne_v >>

Hvad med Afgifter måske?... Eller er der virkelig noget den danske regering har overset ?? :P

(Nu vi lige var i det sjove hjørne :D)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester