12 ms·
Does Andrei have a sticky D button on his keyboard? He seems to mention it in every other sentence, where as I thought this post was about C and C++. I would a
by aDevilInMe 13y ago
Does Andrei have a sticky D button on his keyboard? He seems to mention it in every other sentence, where as I thought this post was about C and C++.
I would ask if there are any improvements between using wrap or just using clang.
- m0nastic 13y agoWarp is written in D, by the guy who created the language. It doesn't seem weird that Andrei would want to talk about that (especially considering the fact that I assume he's very much interested in seeing D in use in more places). I had the same question about how it compares to clang though. I suppose now that it's open source, someone can do some testing.
- aDevilInMe 13y ago" I assume he's very much interested in seeing D in use in more places" Yes, I think you are correct and this is what I was getting at. It seems like a propaganda exercise to promote D, you only have to look at the end of the article to see this "And join the D language community for the D Conference 2014 on May 21-23 in Menlo Park, CA." For the record I am very much aware of who Andrei is and the influences he has on certain languages.
- AsmMAn 13y agoWhat's wrong with that?
- fpelliccioni 13y agoFor me is propaganda, too!
- DannyBee 13y agoI would be shocked if there are improvements over clang (and if there were, clang would fix them) in the general case. clang has a pretty optimized preprocessor (It even has things like using SSE2 to do some neat things with character processing). GCC has a fairly modern one, but it's still beatable (and clang beats it handily).
- pjmlp 13y agoWell, as I mentioned on a parallel thread, I know of a project taking around 3 hours to compile, that doesn't look very optimized to me.
- DannyBee 13y agoYou know of a project that takes 3 hours of time to preprocess with clang? I have serious doubts. Overall compilation time is kind of irrelevant to this discussion, because Warp is just a preprocessor. While you can get some X speedup to gcc by replacing the preprocessor, X, as a factor of overall compilation time, is usually 0.2-0.5 in most cases, depending on size of file. I expect the gains warp gets over gcc overall from preprocessing to be similar to those clang gets over gcc overall from preprocessing. (Though it depends on the size of files being compiled, etc). Most companies that want actual fast overall compilation and have the resources, build caching distributed compilation infrastructure (Google, Facebook). As mentioned, if warp is really that much faster than clang's preprocessor that it mattered, clang would be fixed :)
- pjmlp 13y agoFaire enough, I meant full build times.
- bch 13y agoWhat's stated doesn't say anything about optimization. It could be that it takes a long time to run processes that take a long time.
- reubenmorais 13y agoWhat is this even supposed to mean? Is the majority of that time spent preprocessing? How do other compilers perform? Your anecdote alone is absolutely useless.
- WalterBright 13y agoFeel free to try it and see for yourself! Post results here.
- wnissen 13y agoHe understands C++ well enough to have written "Modern C++ Design" ( http://amazon.com/dp/0201704315 http://amazon.com/dp/0201704315 ) back in 2001. If he's interested in D, so am I.
- AsmMAn 13y agoYou can see this guy on http://forum.dlang.org/ http://forum.dlang.org/ almost everyday talking about D's designer with the community.
- fpelliccioni 13y agoThis makes no sense. Alex Stepanov continues to programming in C++. What language are you going to use now? (¿?)
- andralex 13y agoPreprocessing with clang would be very tricky in a system that uses gcc for the compilation proper (which we do). Clang adds its own predefined #defines, which may change the resulting code.
- DannyBee 13y agoSure, if you are stuck with GCC, and have no plans to move, it makes sense to improve GCC's preprocessor for a number of reasons (warp produces cacheable artifacts, etc). But it's actually not that tricky, since you can just change the defines it makes (after all, if you are maintaining your own toolchain, you are maintaining your own toolchain). In fact, you are already doing it with warp to emulate GCC's defines. Suffice to say, we've done it before to provide clang diagnostics but build with GCC.
- plorkyeran 13y ago"stuck with GCC" is rather unfair. GCC still produces faster binaries on x86_64 Linux, which is very important for Facebook.
- DannyBee 13y agoYes, and no offense, but while other large companies have folks working on fixing this in public, i don't see facebook trying. This is really not meant as a dig (really!), but more of "why i figured facebook was not trying to make a transition". The companies trying to do so, are contributing heavily to LLVM to make that transition :)
- tr43esa323 13y agoDude, shut up already. Why would they try on fixing that ? GCC works better
- the_mitsuhiko 13y agoDevelop on clang, do automated tests and release builds on GCC?
- EvenThisAcronym 13y ago>Does Andrei have a sticky D button on his keyboard? Well, it is written in D. Walter (not Andrei) is talking about how he leveraged D's features to his advantage when writing Warp.
- andralex 13y agoI appreciate this piece of feedback. I've been consciously trying to keep the article interesting technically and avoid it being construed as an advertisement for D, to the extent a couple of coworkers and at least one other colleague (http://goo.gl/QZ5ELn http://goo.gl/QZ5ELn) were unclear about warp being written in D at all. I'll do my best to tone things down further in the future. There's plenty of exciting stuff going on to be worth avoiding alienating people.
- fpelliccioni 13y ago+1