Bye bye, fast compilation times
H. S. Teoh
hsteoh at quickfur.ath.cx
Tue Feb 6 18:56:44 UTC 2018
On Tue, Feb 06, 2018 at 05:44:17AM +0000, Dmitry Olshansky via Digitalmars-d wrote:
[...]
> Honestly I’m tired to hell of working with our compiler and its
> compile time features. When it doesn’t pee itself due to OOM I’m
> almost happy.
Heh, dmd's famous memory usage is causing me tons of grief on low-memory
systems, too. Basically if you have anything less than 2GB of RAM,
you might as well give up trying to compile anything non-trivial. We
need to get a serious handle on dmd's memory consumption -- at least let
there be an option or something that will turn out the GC or whatever.
It's better for dmd to be (gosh) slow, than for it not to be able to
compile anything at all due to it provoking the kernel OOM killer.
> In retrospect I should have just provided a C interface and compiled
> the whole thing separately. And CTFE could easily be replaced by a
> small custom JIT compiler, it would also work at run-time(!).
We seriously need to get newCTFE finished and merged. Stefan is very
busy with other stuff ATM; I wonder if a few of us can continue his work
and get newCTFE into a mergeable state. Given how much D's
"compile-time" features are advertised, and D's new (ick) slogan of
being fast or whatever, it's high time we actually delivered on our
promises by actually making CTFE more usable.
On that note, though, I think a JIT regex compiler totally makes sense.
I'd totally support that.
> Especially considering that it’s been 6 years but it’s still is not
> practical to use ctRegex.
I find that using just plain `regex` is Good Enough(tm) for my purposes.
Do we really need ctRegex? The idea of generating an optimal FSM at
compile-time is rather appealing, but in the grand scheme of things,
doesn't seem like an absolute must-have.
> > The latter department as also suffered a regression; see for
> > example: https://github.com/dlang/phobos/pull/5981.)
>
> Yup, Martin seems on top of it, thankfully.
[...]
Unfortunately, Martin's PR is only to improve runtime performance. It's
still dog-slow to *compile* std.regex. :-(
T
--
Dogs have owners ... cats have staff. -- Krista Casada
More information about the Digitalmars-d
mailing list