Jump to content

Compare PW performance to other php frameworks


pwFoo
 Share

Recommended Posts

Hello community,

I love PW and it's powerful api. PW is more a framework than a cms, but it can be used as both.

After testing some cms and forum software many try to move to frameworks (Drupal CMS -> Symfony, EsoTalk Forum -> Laravel, ...).

It's easier to build an application based an a solid base framework...

PW itself is a framework and so no need to use yet another framework (ok, depeding on the planned application...).

But how PW compares to other (php) frameworks like Laravel, Zend or Symfony? How fast is the PW api and field based data storage?

Link to comment
Share on other sites

It's already very hard to do a good comparison between general purpose frameworks, like the ones you mentioned. What you see done a lot, is a "Hello World!" benchmark, where they measure stuff like requests per second and memory consumption, on the most basic configurations of the frameworks in the benchmark. Unfortunately, this doesn't say much about actual real-life applications and there are a lot more things to consider. Some of the newer frameworks like http://phalconphp.com/en/ show really great numbers (in fact, you could say that they blow the competition out of the water in a certain way). But it's not like everyone suddenly dropped the framework they use in favor of Phalcon.

I would say that PW is a much more specialized framework, geared towards content management. PW also gives a nice admin interface application, built on top of the framework. If you would rebuild all of the functionality and power the PW API and admin gives you using some of the frameworks you mentioned then maybe you could make some kinds of representative comparisons.

In general i think PW performs well. But if you start throwing around heavy and/or inefficient queries (using the api) things will slow down. So competent programmers/builders are important, but i think this is the case for whatever framework or CMS you use.

  • Like 7
Link to comment
Share on other sites

If you have worked with other cms'es/webshops before, you would

already know the difference from first hand. But anyway, how are you

going to do such a test ?

Same load on different cms'es with different frameworks and api ?

I remember we already had such a question about pw performance

with thousands of site pages. No problem there.

Link to comment
Share on other sites

@SiNNuT: it should probably be noted that Phalcon is not written in PHP but C and thus it's even more difficult to fairly compare it to any framework written in PHP. It's a different type of animal :)

I'd really like to stress that Laravel and other web application frameworks are very different from ProcessWire by nature. ProcessWire does a ton of things they don't (the content management part) and they probably do a bunch of things ProcessWire doesn't. Apples to oranges and so on.

  • Like 1
Link to comment
Share on other sites

Maybe PW could be compared against Drupal and WP. Build a simple blog with each and look how fast each view (list, search, post with comments) is generated on all those systems.

Framework comparisons are difficult beast, since it's mainly testing for the architecture (how much stuff they load automatically).


PS: Not that I would be very interested in that kind of comparison - but it would give us great headlines ("ProcessWire is even faster than WordPress") :D

  • Like 3
Link to comment
Share on other sites

That's right and I know there is no simple answer to give ;)

And each framework will have pros and cons depending on requirements.

I try to specify the questing. 

Is there a significant design difference why PW should be faster or slower than other frameworks? For example database structure or whatever?

@apeisa

I like Drupal, but not because it's lightning fast performance *g*

By now I prefer PW  :P And PW api / module development is essential easier!

Link to comment
Share on other sites

pwFoo - you can't keep asking the same question about the database and expecting a reasonable answer.

What data is in the database and what you're doing with it has as much impact on performance as the structure.

Also, uniquely with Processwire, the "every field is a database table" approach could be slower in some areas, but since PW only grabs the data you need it could be quicker too (as in if your template file wants only the data from two fields but behind the scenes the API has to make two queries, those two queries could still be faster than pulling data from another CMS with a table containing dozens of fields. On the flip side there will certainly be occasions where a single table in another system will be faster than many tables in ProcessWire - depending on how well you put together your fields of course as it's up to you to make sure you do it efficiently.

There is no easy answer and the only way to really test this properly is to build the exact same functionality as another system and see what the difference is.

As for the underlying structure? I should imagine most of the frameworks are built for some sort of speed, but they're all abstracting away from PHP so if raw speed is what you're after and every millisecond counts then the best speed you'll see is probably to build something just in PHP bespoke to every situation. Of course that's a little crazy for a lot of projects as it will just take too long and requires you to know a lot more about PHP.

I would just keep going with Processwire, take advantage of things like Procache and/or other caching methods where appropriate and it can be lightning fast for your end users. If you use Procache on more static pages you can essentially be skipping PHP and MySql completely and serving just HTML which is the quickest for your visitors, though certainly not appropriate for all pages.

  • Like 7
Link to comment
Share on other sites

Thanks for all your answers and hints.

I prefer PW because of simple module development (it's easy to understand), great api and additional proCache and other options should do it...

Some modules planned to build with PW. I'll see how it compares to others ;)

  • Like 1
Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...