[angelscript] 1.10.0 WIP 4

  • From: "Andreas Jonsson" <andreas@xxxxxxxxxxxxx>
  • To: "angelscript" <angelscript@xxxxxxxxxxxxx>
  • Date: Sun, 17 Oct 2004 14:18:35 -0200

Fellow subscribers,
I've uploaded the latest WIP of 1.10.0. This version includes Andres Carrera's 
assembler optimized virtual machine. It's not fully optimized yet though, as he 
based the VM on AngelScript version 1.8.2, and there's been a lot of changes to 
the VM since then. The assembler VM is currently slightly less than 1.5x faster 
than the C++ version, I suspect that this will go up as the VM is optimized 
more over time.

It's not an easy task to optimize assembler though. Sometimes, when I converted 
a bytecode implementation from C++ to assembler the performance decreased as 
well, showing that at times it is simply easier to let the C++ compiler do the 
optimization for you. And sometimes when substituting two assembler 
instructions for one that did the same thing the performance also decreased, 
even though logically it should have improved. This is probably due to the 
processor's ability to pipeline instructions, and even parallel execution in 
some cases. 

To use the assembler VM you need to compile the library with the flag 
USE_ASM_VM defined. Note that the assembler VM is only available for compilers 
that understand the intel assembler syntax. Once the assembler VM is more 
stabilized I will work on converting the code to AT&T syntax for the GNUC based 
compilers. Also note that the assembler VM hasn't been fully tested yet, as 
I've found that many of the instructions are never executed by my test cases. 

I will now concentrate on implementing support for native arrays, and also 
writing testcases to cover the rest of the bytecode instructions.

Regards,
Andreas Jönsson
Author of AngelScript

AngelScript - AngelCode Scripting Library
http://www.angelcode.com/angelscript/
http://www.angelcode.com/forums/

Other related posts:

  • » [angelscript] 1.10.0 WIP 4