ionCube Logo
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


 
Post new topic   Reply to topic    ionCube Forum Index -> ionCube Loader

Performance Issue

Author Message
flytohanchow



Joined: 03 May 2006
Posts: 3

PostPosted: Wed May 03, 2006 7:04 pm    Post subject: Performance Issue Reply with quote

I use identical php script to do the performance test, on few of my servers.
The script is basically finding Prime Numbers, which involves lots of loop, array search etc. The result is not so acceptable, encoded files are about 80-100% slower than non encoded ones (on both dl(), or entension mode).

Test urls:
http://donald.orite.com/php_speed_test.php
http://donald.orite.com/php_speed_test_ion.php

note, i'm using ioncube 6.5, files are encoded in binary format.

Did anyone had done similar tests before, and any recommendations to get better performance?


Edited, there was a type in the ioncubed php link, it's fixed now.
Back to top
View user's profile Send private message
Fresshness



Joined: 02 Feb 2006
Posts: 26

PostPosted: Wed May 03, 2006 11:37 pm    Post subject: Reply with quote

I don't have any specific data to back me up, the only thing I got in this regard is my gut feeling.

This gut feeling is telling me that Ioncubed PHP files are not slower than conventional PHP files.

I did notice a significant decrease in speed when I switch from http to https.
https is about 33% the performance of what you would see on http.

I would even go a bit further... I think Ioncube, if anything, speeds up the process. This is only logical if you know how Ioncube works.

BTW: the link to your ioncubed version is down
Back to top
View user's profile Send private message
flytohanchow



Joined: 03 May 2006
Posts: 3

PostPosted: Thu May 04, 2006 12:08 am    Post subject: Zend Optimizer Reply with quote

I just found from another thread by "nick", said about how Zend Optimizer would affect the performance of encoded file,
http://forum.ioncube.com/viewtopic.php?t=40&highlight=speed

My test result shows,
With Zned Optimizer and Ioncube loader 3.1.16
non-encoded: 29.9s
encoded: 53.6s

Without Zend Optimizer but only Ioncube loader
non-encoded: 39.7s
encoded: 46.4s

please note, these tests are conducted on my own test server while no other concurrent request to the server.
Back to top
View user's profile Send private message
Fresshness



Joined: 02 Feb 2006
Posts: 26

PostPosted: Thu May 04, 2006 12:55 am    Post subject: Reply with quote

If you consider it valid data (and I can see no reason why you shouldn't), you're point is valid.

But, consider this for the moment (not forgetting the above), is that your examples of code (searching for x numbers of prime numbers, etc...) may not be ideal 'real-world' examples. In these cases it's perfectly possible for ionCube (it's lowercase 'i' and uppercase 'C' I see now Laughing ) or Zend to not increase performance, but rather decrease it.

AFAIK ionCube never promised all PHP applications will be guaranteed to notice increased performance, no, ionCube instead guarantees it will be virtually impossible to reverse-engineer your encoded application to a useable degree.

So, yes, you are right (in some specific examples), but more importantly, does it really matter?
Back to top
View user's profile Send private message
liaison
ionCube Support


Joined: 16 Dec 2004
Posts: 2788

PostPosted: Thu May 04, 2006 4:23 am    Post subject: Reply with quote

My advice would be to learn a different programming language if you wish to calculate prime numbers. C would be the obvious choice for this. If you need to calculate large prime numbers on your website, and you're finding that PHP is too slow, one could write a PHP module to do this.

For real world cases, and with the exception of PHP 5.1, requests with encoded files actually tend to be faster than original source due to the precompilation. For a better test conducted by Olate recently, see

http://www.olate.co.uk/development/benchmarks.php
_________________
Community Admin
Back to top
View user's profile Send private message
flytohanchow



Joined: 03 May 2006
Posts: 3

PostPosted: Thu May 04, 2006 6:40 am    Post subject: Reply with quote

To be honest, i've been using ionCube encoder since version 3. Didn't notice any performance issue on most (if not all) the website applications.

Just because we are heading towards a relatively data incentive project, we would like to find out what's performance diference would be with the ionCube encode file, Zend encoded file and plain file. So we can decide with solution to go with, so we can protect the source code whileas maintain a certain level of performance.

Since I've seen the benchmarks by olate before starting this topic, i was just wondering if ther's any mis configuration of the loader or settings of the encoder would cause the speed issue. Indeed, I don't believe the result myself either, i always believed ionCube is somehow better than Zend Encoder(Guard) interms of both Value and Portability.

I'll probably test that with some database driven codes, and see how that goes, if that's the "real world" senario that everyone concerns.

In short, if there's no further implication to the issue, we'll just have to count on olate's report.

btw, has anyone tried IPS, the ionCube Performance System yet? I reply to the news email, but haven't receive the beta test copy yet.
Would that make (or expecting to) anything different?
Back to top
View user's profile Send private message
liaison
ionCube Support


Joined: 16 Dec 2004
Posts: 2788

PostPosted: Thu May 04, 2006 10:56 am    Post subject: Reply with quote

IPS will speed encoded files, but for security reasons, not as much as unencoded files. To help prevent reverse engineering and deompilation (you are aware I hope that decompilers exist for PHP now), Encoder 6.5 does not use standard compiled code, and cached encoded files cannot be executed directly from the IPS shared memory cache in the same way that unencoded files can.

Performance also depends on whether or not ZO is installed, as the Loader has to work around some design flaws in ZO, and there is a little overhead in that.

All tests that we've ever done or seen from others are that performance is more than acceptable, and even if it was slower than desired, code can always be made faster. I'd suggest that what you want to avoid is being forced to be reactive to security issues, and trying to beef it up after your code is stolen. It generally makes sense to go for the most secure secure solution that you can and that is practical from the outset, and we have good reason to believe that our solution is the most secure compiled code solution btw., and with that addressed to then deal with any remaining issues or consequences from applying code protection.

Whilst every performance test is valid in itself, assuming accurate timing of course, it may not be meaningful or be useful for drawing any more general conclusions. Tests of calculating prime numbers can make components such as ZO look good (results show that these are about the only type of tests that do though), but are non-real world from their bias towards small code size, loops having excessive numbers of iterations, possibly a similarly large number of function calls, and no database dependencies. Testing with a much larger code base and multiple include files, database queries, and non-totally loop based control flow, the results tend to be different. For a more rigorous benchmark, you could look at the SpecWeb tests, see http://www.spec.org/web2005

The IPS beta test programme is starting in a few days for selected people, based primarily on their target setup.
_________________
Community Admin
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ionCube Forum Index -> ionCube Loader All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum