Gå til innhold

[Løst]minne forbruk, bools


Anbefalte innlegg

jeg holder på med en "OT Server", og "minne forbruk" er veldig høyt prioritert for meg (server-pc'en har ~500 MB mem og skal kjøre opp til 4 forskjellige ot-servere om gangen.. hvis det ikke blir for tregt)

 

skal lage en mulighet till og ikke "lagre" noe som helst, fra config.lua (konfigurasjons-filen)

har gjort det enkelt med "if (g_config.save == 1) {Save~}"

men da blir jo dette kjekket hver gang noe skal lagres, og alle funksjonene for lagring er jo fortsatt i memory

 

noen som vet hvordan jeg kan gjøre at hvis save=0, vill ikke engang save-funksjonene bli lastet in, så det verken tar memory, eller cpu for og kjekke g_config.save hele tiden?

 

(kan også bruke spesielt kompilerte .exe-filer da men... det blir mye mer tungvint og oppdatere :hmm: )

Endret av Hans_Henrik
Lenke til kommentar
Videoannonse
Annonse
jeg holder på med en "OT Server", og "minne forbruk" er veldig høyt prioritert for meg (server-pc'en har ~500 MB mem og skal kjøre opp til 4 forskjellige ot-servere om gangen.. hvis det ikke blir for tregt)

 

skal lage en mulighet till og ikke "lagre" noe som helst, fra config.lua (konfigurasjons-filen)

har gjort det enkelt med "if (g_config.save == 1) {Save~}"

men da blir jo dette kjekket hver gang noe skal lagres, og alle funksjonene for lagring er jo fortsatt i memory

 

noen som vet hvordan jeg kan gjøre at hvis save=0, vill ikke engang save-funksjonene bli lastet in, så det verken tar memory, eller cpu for og kjekke g_config.save hele tiden?

 

(kan også bruke spesielt kompilerte .exe-filer da men... det blir mye mer tungvint og oppdatere :hmm: )

 

Skjønnte ikke helt hvordan du har bygget om det hele. Men mener du liksom:

 

if(g_config.save == 1){

 

save

 

}

else if(g_config.save == 0){

 

En goto-funksjon f.eks?

lag en annen funksjon?

 

}

Lenke til kommentar

Jeg starter med 4 spørsmål:

Hva har dette med c++ å gjøre?

Er det ikke enklere å kjøpe mer ram?

Vet du om det er mye å tjene på denne optimaliseringen?

Kan du ikke bare fjerne kontrollen av g_config.save ?

 

Jeg har bare litt erfaring med lua, men jeg mener at hvis du setter funksjonen til nil tar gcen den ved neste gjennomgang. Det er jo en litt annen sak om det blir så mye mindre minne ut av det da.

 

Hvis du virkelig vil ha hastighet og lite bruk av minne så er exe tingen.

 

Har du vurdert å kjøre serveren på et annet os en windows?

Der kan du virkelig tjene mye.

 

Lykke til

Lenke til kommentar
jeg holder på med en "OT Server", og "minne forbruk" er veldig høyt prioritert for meg (server-pc'en har ~500 MB mem og skal kjøre opp til 4 forskjellige ot-servere om gangen.. hvis det ikke blir for tregt)

 

skal lage en mulighet till og ikke "lagre" noe som helst, fra config.lua (konfigurasjons-filen)

har gjort det enkelt med "if (g_config.save == 1) {Save~}"

men da blir jo dette kjekket hver gang noe skal lagres, og alle funksjonene for lagring er jo fortsatt i memory

 

noen som vet hvordan jeg kan gjøre at hvis save=0, vill ikke engang save-funksjonene bli lastet in, så det verken tar memory, eller cpu for og kjekke g_config.save hele tiden?

 

(kan også bruke spesielt kompilerte .exe-filer da men... det blir mye mer tungvint og oppdatere :hmm: )

 

Hvorfor ikke bare laste ned en distro med ikke save på en offisiel bruker, altså en distro med dette innebygd som en "War server"? Ellers så kan du jo bare spørre om hjelp til dette på otfans.net eller otland.net, de har mye mer peiling på OT(open tibia) kildekoden enn noen her.

Lenke til kommentar

Hei!

 

Emnetittelen i denne tråden er lite beskrivende for trådens innhold og det er derfor ingen god emnetittel. Jo bedre og mer beskrivende emnetittelen er, jo lettere er det for andre å skjønne trådens innhold og dermed vil det være lettere å treffe den riktige forumbrukeren med det rette svaret. Ber deg derfor om å endre emnetittel. Vi kan anbefale å lese om hva vår nettikette sier om dårlig bruk av emnetitler.

Bruk p_edit.gif-knappen i første post for å endre emnetittelen.

 

Tråden bryter også med tre-ords-regelen.

 

Bruk p_edit.gif-knappen i første post for å endre emnetittelen. Om du ikke endrer emnetittel kan tråden bli stengt.

 

Når endringen er gjennomført er det flott om du bruker p_report.gif-knappen ved dette innlegget slik at en moderator raskere får fjernet denne moderatormeldingen.

 

Reaksjoner og spørsmål rundt moderering skal gjøres på PM, ikke i tråden.

Lenke til kommentar
Skjønnte ikke helt hvordan du har bygget om det hele. Men mener du liksom:

if(g_config.save == 1){

save

}

else if(g_config.save == 0){

 

En goto-funksjon f.eks?

lag en annen funksjon?

 

}

mente

if (g_config.save)

{

Commands::saveServer

IOAccount::saveAccount

IOMapSerialize::saveHouseInfo

// (og alle andre save-relaterte funksjoner her)

}

(eg, hvis g_config.save er av, vill den ikke gjøre noe, men funksjonene er fortsatt i der og tar plass...)

 

Jeg starter med 4 spørsmål:

Hva har dette med c++ å gjøre?

Er det ikke enklere å kjøpe mer ram?

Vet du om det er mye å tjene på denne optimaliseringen?

Kan du ikke bare fjerne kontrollen av g_config.save ?

 

Jeg har bare litt erfaring med lua, men jeg mener at hvis du setter funksjonen til nil tar gcen den ved neste gjennomgang. Det er jo en litt annen sak om det blir så mye mindre minne ut av det da.

 

Hvis du virkelig vil ha hastighet og lite bruk av minne så er exe tingen.

 

Har du vurdert å kjøre serveren på et annet os en windows?

Der kan du virkelig tjene mye.

 

Lykke til

1: OT servere er laget i c++

2: tror jeg skal gjøre det ja

3: vell... det er ganske mange funksjoner relatert till lagring (savehouse/savechar/saveaccount/savedepot/save premium time/save uptime/skrive till MySQL server/ etc)

4: hmm

5: OS jaa!!! {nå kjører den en minsket versjon av XP som tar ~120 MB ram fult startet opp)

 

 

Du kan jo fint bruke LoadLibrary og FreeLibrary for å kunne laste inn og ut funksjoner av programmet ditt.

Dette vil jo føre til at du kan endre på programmet mens det fortsatt er i bruk, uten å måtte restarte det...hvis du gjør det riktig altså.

da må jeg gjøre det om till DLL-funksjoner ? kunne prøve.. :p

 

Hvorfor ikke bare laste ned en distro med ikke save på en offisiel bruker, altså en distro med dette innebygd som en "War server"? Ellers så kan du jo bare spørre om hjelp til dette på otfans.net eller otland.net, de har mye mer peiling på OT(open tibia) kildekoden enn noen her.

tror jeg skal spørre på otfans senere, men *war-serveren* må være SQL og 7.6 :p

Lenke til kommentar

Da så, 7.6 er jo litt verre å finne, spesielt sql, det finnes nesten bare xml for 7.6. Første gang jeg ser noen norske faktisk lage en 7.6 ot, trodde bare det var meg som drev på å laget OT på fritiden. :D

 

Edit: Mulig jeg har en 7.6 war ot med denne funksjonen liggende på den gamle pcn min, skal se om jeg finner den.

Endret av Geek_Master
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...