Optimizing VergeC
Displaying 1-1 of 1 total.
1
Please enter a numerical value for the importance of this sticky.
Enter 0 to unsticky.
adderd

I've begun to poke around in VCCore to speed up vergec execution. As an initial step I've inlined the Chunk::GrabXXX functions. This speeds up vergec execution, it would seem, by between 7-14%. It appears that the operation of vergec is the same (haven't found any problems). So doing such can basically give us a free 10% boost in execution speed.

Both ProcessOperand and ResolveOperand are called... a lot... and so are the next best candidates for optimization. I'm looking into how they can be sped up.

Also, it seems variables are accessed by looking up their variable name in an array via linear crawl. That's not terribly efficient. Some sort of sorting, key, or binary tree needs to be used. Preferably variables should be accessed via integer offset into the variables array. This would necessitate a change to the verge compiler as well (as far as I can tell.) It looks like functions are already usually being accessed by number instead of name (sometimes they are not such as when the autoexec function needs to be looked up but the majority of cases are not like that).

Does anyone else have any suggestions for vergec speedup?

Posted on 2006-02-07 22:16:56


Displaying 1-1 of 1 total.
1
 
Newest messages

Ben McGraw's lovingly crafted this website from scratch for years.
It's a lot prettier this go around because of Jon Wofford.
Verge-rpg.com is a member of the lunarnet irc network, and would like to take this opportunity to remind you that regardless how babies taste, it is wrong to eat them.