Oro Products Support for PHP 7

Oro engineers were closely monitoring PHP 7 since its release on December of 2015. During the last few months, our team followed the results of different performance tests of other applications that upgraded to PHP 7 and obtained convincing information that this version delivers major performance and development process improvements. Published reports indicated huge performance gains such as:

Up to 2× less memory consumption

Up to 2× faster page response (page loading time)

In addition, the following advancements in the PHP language helped streamline development by making the coding process quicker and easier:

Better error handling

New Spaceship and Null Coalescing operators

Anonymous classes

Accurate type declaration

These benefits made it clear that we need to upgrade and add support for PHP 7 to both OroPlatform and OroCRM. PHP 7 support is already available in the master branch but the platform will be officially compatible starting with the next (1.10) release scheduled for this summer. We also decided to discontinue the support for the older PHP 5.4 version. The 5.4 version will remain supported in older versions (1.9.x and below) during their current life cycle, but will not be supported in release 1.10 and beyond.

The Impact of PHP 7 on Oro Platform and OroCRM

In addition to publicly available test results, Oro engineers conducted independent tests and conclude that compared to PHP 5.5, PHP 7 significantly improves the performance of OroPlatform and OroCRM. Performance improvements globally enhance both the end user and developer experience with faster server response time on user and command line interface. Also, the faster and more responsive OroPlatform and OroCRM becomes, less computing power is required, effectively reducing the infrastructure cost.

OroCRM page load times improvements

Contact grid – 36%

Account grid – 47%

Contact view – 57%

Account view – 45%

Login page – 26%

Memory consumption

53% less in functional tests

43% less in unit tests

37% less in schema update

30% less in command line install

19% less in cache:clear

Tests/command execution speed

63% faster in both functional and unit tests

57% faster cache:clear

50% faster update

16% faster command line install

OroCRM Account Grid Response Time with PHP 5.5

OroCRM Account Grid Response Time with PHP 7

Testing environment

As an open source company our goal is to make sure we are transparent as possible providing developers with all the information they need. As such, we are sharing with the testing environment and the tools we used so developers in our ecosystem could test the application on their own and further support our findings. Please share the results with us on OroCRM forum