ionCube facts and performance concerns

ionCube facts and performance concerns


What is ionCube ?

ionCube is an encoding system for PHP files, it serves to encode and protect code in files since PHP encoded file cannot be edited with a plain text editor because the content of the file will be encoded in binary format.

Why I need it and how to make it run on my server?

Encoded PHP files require the encoder-runtime to be available on the web server to be able to read the encoded binary files. ionCube is standard service for most hosting companies and is included in basic hosting package. From our experience in most cases it is already installed and just need to activate it by hosting company or by server administrator. If you need to install ionCube latest version can be found on their site along with installation manual, also they have great tech support that will help.

How ionCube works?

ionCube Loader when is installed on web server, will acts as an on-the-fly decoder for the coded application. It will handle all encoded file and allow them to be ridden and executed.

Performance concerns

When the loader is installed, encoded files may run faster than the unencoded scripts. Unlike unencoded scripts and those from source based encoders, ionCube encoded files are compiled and optimized at encoding time, and so don’t need to be parsed or compiled at runtime. This reduces the usual overhead in PHP, and offsets the performance overheads of the code protection.

Performance improvements

ionCube also has an optimizer which is known as ionCube PHP Accelerator. It is capable of delivering increased PHP script performance through runtime acceleration and caching. ionCube PHP Accelerator claims to increase performance and speed gains from 5X up to 10X times. Zend Optimizer can be used too since it is compatible with ionCube loader.

ionCube in our Extensions

We are using ionCube ONLY for licensing and core functions(in most cases it is one single file), our extensions are 99% OPEN SOURCE and no other files are not encoded. License file is encoded to protect our intellectual property through encoding source-code and providing genuine licenses. Core functions are encoded to prevent modification of functions which will cause extension to stop working.

This is opposite approach from some other companies that offer ‘open source’ extensions but require additional plugins to be installed that connects to their server and check for license. Our extensions can run on ‘localhost’ server and don’t require internet connection at all. Also our extensions don’t offer any kind of advertising via back-end banners or links, you will find only extensions configuration settings in our plugins back-end.

Many of our clients expressed concern about performance since our extensions require ionCube to be installed. Coming form fact that only one file is encoded main argument that number of loaded files will be doubled in this cases means only one more file which is insignificant. Furthermore the compiled and optimized binary code in license fill will deliver improved runtime performance as pre-parsing and compilation is not required and denies any performance offsets. To better understand how exactly ionCube work you can contact ionCube support team.

Since we wanted to support our article with real results we preformed series of tests with some of our clients. We have chosen clients that have large magento stores with over thousand of products loaded in store, also we targeted sites with lot of configurable products that use two or more attributes and have lot of options per attribute. They all performed tests with ionCube encoded license file and with simple license file in plane PHP. Performance results were taken for every store under same conditions and processed to be analyzed. Speed improvements were insignificant and in best case were from 1% to 3%, however when all results were summarized result that we got was closer to 1%.

We hope that now you understand why we choose to use ionCube, by purchasing extensions from you will be granted that code which will be installed in your store is tested and secure. While idea of using ‘cracked’ version of some extensions can be interesting, damage that such plugin can do to your store and you customers can be devastating. Once your customers lose faith in security of your store it will be impossible to get them back.

One thought on “ionCube facts and performance concerns”

Leave a Reply

Your email address will not be published. Required fields are marked *