Advertisement

AngelScript 2.1.0 WIP 5 (2004/03/06)

Started by February 26, 2005 08:09 AM
13 comments, last by JD 19 years, 8 months ago
After almost two weeks of hard work I've finally completed WIP4. From the users point of view the resulting changes may be a bit disappointing at the moment, since there are almost no changes visible externally only a few minor adjustments. The real changes are all internally, and while not visible now, will be most useful for coming releases. Especially the planned features like co-routines and serializable contexts will benefit greatly from this. Also the library is much more secure now (in a sandbox way of speaking). I didn't have the time (or perhaps the courage) to measure the performance impact of these changes, but I'm almost certain the performance has decreased with this version. But don't worry, I've identified several places where the compiled bytecode can be optimized which should bring the performance back up again. Also, I just read the article "The Implementation of Lua 5.0" which has given me the necessary push over the ledge to actually start developing a register based VM. Lua saw a performance increase of almost 50% when it changed from stack based to register based VM, and I expect AngelScript will see similar numbers. However, I won't start working on this right away. I have promised to implement script declared structures, and that is just what I'm going to do as soon as version 2.1.0 is finished. I estimate at most 2 more weeks before completing version 2.1.0 (unless my workload dramatically changes at my day job). I still need to implement const for objects, but that shouldn't be too difficult. A few minor issues must be corrected as well, but I'll squeeze them in while working on the const for objects. Regards, Andreas [Edited by - WitchLord on March 6, 2005 2:03:11 PM]

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Yeah, the register based VM will give you an impressive performance, i remember that i told you about it in some message or email

I did some tests replacing the AS pCode VM with a register based VM, and the performance increase was really good, but later i switched to a JITer

I know that the work needed to switch to a totally different VM is going to be big, but im here to help if you need me

Lioric
Advertisement
I thank you for your offer. If you have something already, I would be grateful if you sent it to me so that I can study it and maybe even include it as is.

I'm not ready to take the step to a register based VM yet, but now that I've seen the proof it is inevitable. It's just a question of time now. :)

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

I've uploaded WIP 5. It has only bug fixes so no long description is needed.

If all goes well, I'll have the final version finished for the next weekend.

Regards,
Andreas

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Waiting for it Anxiously. My next scripting engine upgrade!
Jayanth.KRaptor Entertainment Pvt. Ltd.http://www.raptorentertainment.com---------------------------------------------------------Why Mr. Anderson? Why? ...Why keep fighting? Do you think you're fighting for something - for more than your survival? Can you tell me what it is? Do you even know? Is it freedom, or truth, perhaps peace, could it be for love? Illusions Mr. Anderson, vagaries of perception. Temporary constructs of a feeble human intellect trying desperately to justify an existence without meaning or purpose.
Is it going to be easy to upgrade from the current stable version once the next release goes stable?
tIDE Tile Map Editorhttp://tide.codeplex.com
Advertisement
The upgrade from 2.0.0 to 2.1.0 shouldn't be that difficult. The biggest change is the inclusion of const for objects, which may make it necessary to register const-overloaded version of object behaviours and methods. Other changes are mostly new features and shouldn't impact current applications, one exception is the use of ExecuteNext() which should ideally use the new SetLineCallback() feature instead as ExecuteNext() is deprecated in 2.1.0.

I will release the final changes for 2.1.0 in a couple of days. But I will only release it as a release candidate for the new stable version. If no bugs are found this will be the de facto final version. I intend to give the library a real world test by upgrading my texture generator to use the new version, and if that is successful I will release 2.1.0 as a stable version.

I will then release the texture generator as an open source project so that you can get a better idea of how I intended the library to be used.

Regards,
Andreas

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Quote: Original post by WitchLord
I will then release the texture generator as an open source project so that you can get a better idea of how I intended the library to be used.


This is a great news since your texture generator was using an 1.x angelscript.
What should be great, if you can, should also be to release your texture generator BEFORE the whole conversion.
Like this, this could be more easy for 1.x user like me to evaluate the amount of work needed to convert to 2.x .

Regards,

AbrKen.
That's great to hear, keep up the good work :-)

In a month or two I will need scripting language with good performance, and I thought about using your library ... do you think that you'll be able to complete aformentioned byte code optimizations and register based VM in about 2 months?
abrken:

I don't think that would be much use, as I'm not just doing a direct upgrade, I'm also re-evaluating the whole design of the application. Besides the previous version was only using a very small part of what the library was capable of.

Koshmaar:

I'm pleased to hear that you are considering using AngelScript for your projects. I will most likely do a few of the bytecode optimizations within the coming months, but I don't think I will be implementing the register based VM just yet. I have other things that I've been promising to implement for a long time.

In either case I believe AngelScript's performance is competetive with most other script libraries and it will become faster over the time. So if you like the interface and library itself don't let the performance be the only factor in your choice.

Regards,
Andreas

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

This topic is closed to new replies.

Advertisement