Page 1 of 2 12 LastLast
Results 1 to 10 of 21

Thread: Warp: Facebook Open-Sources A Super Fast C/C++ Pre-Processor

Hybrid View

  1. #1
    Join Date
    Jan 2007
    Posts
    15,130

    Default Warp: Facebook Open-Sources A Super Fast C/C++ Pre-Processor

    Phoronix: Warp: Facebook Open-Sources A Super Fast C/C++ Pre-Processor

    Following Facebook's announcement of the Hack language and being one of the organizations backing the new WebScaleSQL, Facebook developers ended out last week by announcing Warp, their latest open-source contribution...

    http://www.phoronix.com/vr.php?view=MTY0ODg

  2. #2
    Join Date
    Jan 2013
    Posts
    232

    Default

    But...but...but...Facebook purchased Oculus Rift, and are therefore evil.

    Does not compute.

    *head assplodes*

  3. #3
    Join Date
    Jul 2009
    Posts
    221

    Default

    Sounds very useful. What would be even more useful is eliminating the unnecessary parts of a header for each use case: when including a header for class Foo, most code only needs to know about public members, how big class objects are, and what the vtable looks like. Changing private non-virtual functions (not called inline) or the type of private fields (in ways that don't change size/alignment) shouldn't require recompiling most sources.

  4. #4
    Join Date
    Apr 2013
    Posts
    65

    Default

    My gut feeling is that warp is probably good.

    A big chunk of a preprocessor job is to manage the dependencies which is a directed flow graph problem.

    I would say that FB must have a couple of experts in graph algos and possibly few good tricks to efficiently work with graphs.

  5. #5
    Join Date
    Jul 2009
    Posts
    221

    Default

    Quote Originally Posted by lano1106 View Post
    A big chunk of a preprocessor job is to manage the dependencies which is a directed flow graph problem.
    It's not. One #define rule can change what happens in a #included file. That's the biggest problem with the preprocessor.

  6. #6
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,187

    Default

    I was going to ask when it will be integrated to llvm or gcc preprocessors, then saw it was written in D.

  7. #7
    Join Date
    Jan 2014
    Posts
    224

    Default

    Quote Originally Posted by lano1106 View Post
    My gut feeling is that warp is probably good.

    A big chunk of a preprocessor job is to manage the dependencies which is a directed flow graph problem.

    I would say that FB must have a couple of experts in graph algos and possibly few good tricks to efficiently work with graphs.
    FB has hired experts from many fields, but the author of the tool is Walter Bright. Walter Bright is a self-taught compiler writer without a formal degree in computer science. Few years ago he did not know what higher order functions are, but he seems to know a thing or two about low level optimizations.

    Of course the whole FB language ecosystem is silly. We're expecting a real module system in the coming versions of C++. The include based system is a temporary solution and almost no other language today uses that kind of legacy system. It's terribly inefficient. See these slides http://llvm.org/devmtg/2012-11/Gregor-Modules.pdf

    But this tool is consistent with FB's eagerness towards PHP. PHP is probably the worst of the contemporary web programming languages. I'm not saying it won't work, but it was originally designed for small scale personal home pages, thus the name. A lot of work has been required to improve PHP. It still sucks compared to other similar languages with more thought on design, written by people with more formal academic knowledge. Facebook wanted to create a better compiler for PHP. They'd have come up with a much better tool with a better language (in terms of academic language research), but they probably wanted to produce a more reasonable tool for legions of cheap and ignorant mediocre programmers from public colleges and 3rd world countries with a weaker educational system.

  8. #8
    Join Date
    Jan 2013
    Posts
    8

    Default

    Quote Originally Posted by caligula View Post
    FB has hired experts from many fields, but the author of the tool is Walter Bright. Walter Bright is a self-taught compiler writer without a formal degree in computer science. Few years ago he did not know what higher order functions are, but he seems to know a thing or two about low level optimizations.
    Huh. What's with the bashing, and that "if-no-formal-education-he-must-be-clueless" attitude?

    He's actually the designer of the D programming language. Funny nobody mentioned that...

    I don't really find that surprising that he did work for Facebook, given that Andrei Alexandrescu (the interviewer in the announcement) works at Facebook nowadays, and knowing they are friends. Andrei himself is a big D proponent and guru (in addition to being a C++ guru).

  9. #9
    Join Date
    Oct 2012
    Location
    Washington State
    Posts
    486

    Default

    Who gives a rusty ****?

    I've got LLVM/Clang and GCC. I'll pass.

  10. #10
    Join Date
    Oct 2012
    Location
    Washington State
    Posts
    486

    Default

    Quote Originally Posted by caligula View Post
    FB has hired experts from many fields, but the author of the tool is Walter Bright. Walter Bright is a self-taught compiler writer without a formal degree in computer science. Few years ago he did not know what higher order functions are, but he seems to know a thing or two about low level optimizations.

    Of course the whole FB language ecosystem is silly. We're expecting a real module system in the coming versions of C++. The include based system is a temporary solution and almost no other language today uses that kind of legacy system. It's terribly inefficient. See these slides http://llvm.org/devmtg/2012-11/Gregor-Modules.pdf

    But this tool is consistent with FB's eagerness towards PHP. PHP is probably the worst of the contemporary web programming languages. I'm not saying it won't work, but it was originally designed for small scale personal home pages, thus the name. A lot of work has been required to improve PHP. It still sucks compared to other similar languages with more thought on design, written by people with more formal academic knowledge. Facebook wanted to create a better compiler for PHP. They'd have come up with a much better tool with a better language (in terms of academic language research), but they probably wanted to produce a more reasonable tool for legions of cheap and ignorant mediocre programmers from public colleges and 3rd world countries with a weaker educational system.
    A B.S. in Mechanical Engineering, from Cal Tech.

    Word of advice: Most of us Mechanical Engineers have learned several programming languages. Writing a Compiler is not Rocket Science. No offense, but most of the top dogs in IT have Mechanical, Electrical and Physics degrees. CS was a helluva a lot easier degree than Mechanical Engineering, and about 1/10th as rewarding.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •