Identifier (...) is too long by X characters

Tom S h3r3tic at remove.mat.uni.torun.pl
Sat Jul 8 16:31:17 PDT 2006


I just got such an error while trying to instantiate a rather longish 
template. This is pretty much a blocker for more complex template code. 
Couldn't symbol names be truncated at some predefined length ?

It also seems like long symbols are killing DMD performance-wise as they 
can eat lots of RAM while compiling. Then mem allocations + cache misses 
+ GC stalls make it crawl. I've tried instantiating a struct template 
(the Tuple from my 'bind' lib) with a nesting level of 50 and before I 
managed to kill DMD, it ate 700MB of virtual mem out of my 512MB RAM system.

Can anything be done with it ? It seems like compile times and memory 
use explode when dealing with more complex templates.


-- 
Tomasz Stachowiak  /+ a.k.a. h3r3tic +/



More information about the Digitalmars-d-bugs mailing list