What is the inherent complexity of compilation? I figure that an
assembler would be nearly O(n) time for n lines of code (assuming that
symbol table lookup is not a problem--say, an O(1) hashing method would be
used that assumes a average number of lines of source). For C++ or
optimization, this gets far more complex. O(n*Log(n)) seems likely for
C++ (an intuitive guess), but the graph problems that optimizers must work
on are probably more complex (certainly they seems to use lots of space,
like O(n^2)).