Tuesday, December 2, 2008

Project Raven

We've been working for a few months now on a project that we're ready to take the wraps off of a bit. It's ambitious, but Roadsend PHP always has been.

We've started a complete rewrite of Roadsend PHP. The rewrite will address some of the problems we've had with the old code base, and hopefully open up the project to a wider range of programmers who would like to contribute.

The new code base is written in C++ and uses LLVM for code generation. LLVM stands for Low Level Vritual Machine and provides a complete set of tools that allow us to implement a highly optimized code generator, JIT and static (native) compiler. For more information, see the LLVM website.

We're also relying on the Boost C++ libraries. These are well know, portable, peer-reviewed libraries providing lots of the low level functionality needed for the runtime. See the Boost website for details.

Rounding out the major third-party libraries we've chosen is ICU: International Components for Unicode. This library provides all the necessary tools for full unicode and internationalization support.

Some of the goals of this rewrite include:
  • Highly optimized code generation
  • Full unicode support
  • Latest PHP language features (namespaces, lamda functions, etc)
  • Clean, easy runtime API
  • Portability
In the current codebase, most of the major components are in place. Simple scripts can be compiled statically (native binaries) or run through the JIT. Full unicode parsing is in place. Most major runtime components have been started.

You can checkout or browse the codebase at the new development site:
http://code.roadsend.com/rphp

We're looking for contributors so if you'd like to help, please speak up! You can find us in #roadsend on FreeNode IRC.

6 comments:

Chris Graham said...

Sounds fantastic! Any idea when you'd be ready to do some benchmarking: Raven vs old Roadsend compiler vs Zend PHP vs Phalanger?

Shannon Weyrick said...

Chris: Still a bit early to tell. Hopefully we'll be able to compare some basic scripts early next year.

joomla development company said...
This comment has been removed by a blog administrator.
Web Developers Chennai said...

We are also one of the Leading Web Design Company in Chennai,our services are web design,web hosting,seo chennai,email marketing,website design,logo design,maintenance etc.please add my website to your blogger.it is very useful for us.

seo melbourne said...

Very nice information you have provided to us. thank you for sharing such kind of information.

Phone Sex said...

Excellent ideas here, there are some great tips that I plan to use.