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