Linux, Mono-D, GtkD and linking (DDT performance bug)

Bruno Medeiros via Digitalmars-d-ide digitalmars-d-ide at puremagic.com
Fri Nov 28 05:25:57 PST 2014


On 19/11/2014 12:30, Bruno Medeiros wrote:
> On 03/09/2014 14:33, Bad Sector wrote:
>> On Tuesday, 2 September 2014 at 13:51:09 UTC, Bruno Medeiros wrote:
>>> However, I do not know of any issues that makes DDT freeze, if you
>>> have the time, I would welcome some bug reports with more info on
>>> these problems. (especially with the new DDT version)
>>
>> Out of frustration i uninstalled everything D :-P but it was very easy
>> to reproduce: Go to
>> http://www.dsource.org/projects/gtkd/wiki/CodeExamples and grab some
>> simple example, make a DUB json file for it and have GtkD and Derelict
>> as dependencies. Then try to use auto completion - the IDE hangs for
>> some time, probably trying to parse the code from GtkD and Derelict.
>>
>> I may try DDT again with the new version since i think i tried it just
>> before you made the announcement.
>
> I've finally gave that a try, and tried the GtkD HelloWorld.
> On my machine it takes about 3-4 seconds to get the completion done with
> DDT. It's not a permanent freeze, but still, there's room for
> improvement for sure.
>
> I will try to do some performance improvements for the next major
> version, since my next work task is on the semantic engine already.
>

I have now tried to profile it to find the cause, and I've found a major 
bug. Basically in this case there is no optimization problem per se in 
the engine, since the code complete semantic analysis completes in less 
than 10ms in my machine!
Rather there is a bug with DUB projects with subpackages (which is the 
case with GtkD) that makes DDT invoke "dub describe" everytime before a 
content assist, even though the dub.json manifests have not changed! 
This is where those 3-4 seconds are spent! :S


-- 
Bruno Medeiros
https://twitter.com/brunodomedeiros


More information about the Digitalmars-d-ide mailing list