facebook warp

59 views
Skip to first unread message

Thiago Farina

unread,
Feb 25, 2015, 12:56:14 PM2/25/15
to Chromium-dev
Has anyone looked into using warp preprocessor instead of gcc's preprocessor?

They seem to have achieved good results by using it [1].

Jeremy Roman

unread,
Feb 25, 2015, 1:51:43 PM2/25/15
to Thiago Farina, Chromium-dev
I haven't looked deeply into it, but at the time it was announced, I heard that Clang still outperformed it.
https://news.ycombinator.com/item?id=7489532 (the author of this post is Google's Daniel Berlin, I believe).

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

Nico Weber

unread,
Feb 25, 2015, 2:01:09 PM2/25/15
to Jeremy Roman, Thiago Farina, Chromium-dev
warp is meant as a replacement for gcc -E, the preprocessor-only mode of the compiler. When using distcc, one needs to quickly figure out which files to upload to the build servers ( http://google-opensource.blogspot.com/2008/08/distccs-pump-mode-new-design-for.html ), and one way to do this is to preprocess the files and see which #includes get processed. But this doesn't require a "full" preprocessor, and I think this is what warp does. (goma also has its own preprocessor for performance reasons, and it's faster than a "real" preprocessor because it does less work.)

So if you're using distcc, this might be useful for you. If you're building locally, this isn't for you.

Nico

Reid Kleckner

unread,
Feb 25, 2015, 2:09:43 PM2/25/15
to Jeremy Roman, Thiago Farina, Chromium-dev
The main concern for Chromium is that Clang's diagnostics are different after macro expansion. We use this to suppress low-value or false positive warnings in some corner cases. Some users argue that this is a mistake in Clang, but it doesn't change the fact that we can't use warp in Chromium today without triaging a load of warnings.

Clang also provides the -frewrite-includes flag, which prevents macro expansion and only expands includes. I think goma uses it. Warp would need to implement this functionality before we could consider it for Chromium.

On Wed, Feb 25, 2015 at 10:50 AM, Jeremy Roman <jbr...@chromium.org> wrote:
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Reply all
Reply to author
Forward
0 new messages