Mono-D v0.4.1.2 - Heavily improved performance + Completion bugs removed

alex info at alexanderbothe.com
Thu Aug 23 16:18:25 PDT 2012


Hi everyone,

Right after the GSoC finished (I'm really sure I passed :)), I've 
just found more time to improve things drastically:

By using a nice combination of storing AST children both sorted 
by name in a dictionary and in normal list, I was able to 
increase the resolution performance extremely - that means it 
takes ~0.3 milliseconds instead of ~3ms to resolve a normal 
symbol like a local variable or a local class definition.
As a side effect, UFCS completion and preparation right after 
startup gained a maximum of performance boost! Tooltips and 
(later on) semantic highlighting could be done even more faster :)

Then I fixed several issues with template parameter deduction - 
and figured out several bugs or a kinda undefined behaviour of 
dmd:

class A(T) {
	class SubClass {}
}
class C(U: A!W.SubClass, W){}
class D : C!(A!int.SubClass) { } // is not allowed, but A!int is 
-- why?

Furthermore I fixed the parameter completion on this() and 
super() expressions, what implies a great usability bonus imho. 
Not to forget all the classic null-check issues and smaller bugs.



Cheers,
Alex

http://mono-d.alexanderbothe.com
https://github.com/aBothe/Mono-D/issues



More information about the Digitalmars-d-announce mailing list