Modattu CB (funktiorajaa nostettu)

CoolBasiciin yleisesti liittyvä keskustelu.
User avatar
Cérebro
Newcomer
Posts: 35
Joined: Wed Jul 16, 2008 8:56 pm

Re: Modattu CB (funktiorajaa nostettu)

Post by Cérebro » Sun May 17, 2009 3:22 pm

Ruuttu wrote:Voisitkohan julkaista tästä vielä sellasen "safe-mode" version missä funktioraja liikkuisi "vain" jossain 2000 paikeilla... Kun skeptikkona tietenkin pohdin että minkähänlainen vaikutus tuolla 8000 korotuksella on muistinkäytön / suorituskyvyn kannalta yms.

Ei pakko, mutta jos sulla on päivässä 24 tuntia liikaa vapaa-aikaa, niin voisit sellaisen ohimennen vääntää.
Päivitin ensimmäiseen viestiin safe-version.
cbLib | XMap
In development: EasyBasic - Basic-tyylinen peliohjelmointikieli

User avatar
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 4:48 pm
Location: Turku

Re: Modattu CB (funktiorajaa nostettu)

Post by skorpioni-cb » Fri Nov 20, 2009 3:10 pm

KilledWhale wrote:Gosubin käyttö on huomattavisti nopeampaa useasta syystä. Ensinnäkin cb tavukoodia katsottaessa gosub vie 2 komentoa siellä itse hyppy ja return. Funktiot taas vievät n. parametrien määrä * 4 + 2 + 7 komentoa mikä cb:n mittapuulla on jo aivan helvetisti ylimääräistä. Jos jollain on mielenkiintoa kikkailla muistipaloilla ja hajoilla koodatessa gosubia voisi hyödyntää muistipalojen + esikäsittelyn avulla tekemällä inline tyyliset funktiot.

Omassa testissäni funktion kutsuminen 500000 kertaa vei 4672 millisekuntia kun gotolla samaan meni vain 344 millisekuntia. Tosin gotoja käyttäessä ei laiteta pystyyn erillistä pinoa ja tauluja muuttujille mutta eniveis.
[Offtopic]

Onko tämä tavukoodia :shock: [heräTYS] Anteeksi herätys! [/heräTYS]

[/Offtopic]

[Ontopic]

Hyvä juttu tuo funktio-korotus.

[/Ontopic]
Minä en tiedä mitä tiedän, mutta sen tiedän ettei se ole mitään kaunista.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Modattu CB (funktiorajaa nostettu)

Post by esa94 » Sat Nov 21, 2009 12:30 am

skorpioni-cb wrote:
KilledWhale wrote:Gosubin käyttö on huomattavisti nopeampaa useasta syystä. Ensinnäkin cb tavukoodia katsottaessa gosub vie 2 komentoa siellä itse hyppy ja return. Funktiot taas vievät n. parametrien määrä * 4 + 2 + 7 komentoa mikä cb:n mittapuulla on jo aivan helvetisti ylimääräistä. Jos jollain on mielenkiintoa kikkailla muistipaloilla ja hajoilla koodatessa gosubia voisi hyödyntää muistipalojen + esikäsittelyn avulla tekemällä inline tyyliset funktiot.

Omassa testissäni funktion kutsuminen 500000 kertaa vei 4672 millisekuntia kun gotolla samaan meni vain 344 millisekuntia. Tosin gotoja käyttäessä ei laiteta pystyyn erillistä pinoa ja tauluja muuttujille mutta eniveis.
[Offtopic]

Onko tämä tavukoodia :shock: [heräTYS] Anteeksi herätys! [/heräTYS]

[/Offtopic]

[Ontopic]

Hyvä juttu tuo funktio-korotus.

[/Ontopic]
Onko mikä tavukoodia?
EDIT:

Aa, ei, tämä on BBCodea. Avaa CB-ohjelma joskus heksaeditoriin, niin näet tavukoodia ;)


Post Reply