5 ms·
Good to see PHP slowly improving, although I haven't used it for years now. On a side note, does anyone know why Drupal 8 is apparently so absurdly slow? I kno
by richthegeek 12y ago
Good to see PHP slowly improving, although I haven't used it for years now.
On a side note, does anyone know why Drupal 8 is apparently so absurdly slow? I know it's not entirely fair to compare against D7 as it's still technically "under development" but it just seems insane to take that much of a performance hit for nicer OOP semantics...
- mgkimsal 12y agoI'd say it's to do with having been rebuilt with Symfony components. That's not to say symfony is, by necessity, slow, but I going to guess that completeness and stability was first for such a big change before performance. But... that's just a guess.
- psaintla 12y agoI think it is exactly the fact that they are using Symfony components. Symfony and a lot of other PHP frameworks went head first into the non-sensical enterprise Java abstraction and IoC hell from 10-15 years ago that current Java developers are running as fast as they can from. That overhead comes at a cost.
- mgkimsal 12y agoHrm... I got a few down votes for my guess (well, I started with "I'd say that..." but it was later qualified as a supposition. I also wasn't making a judgement call that it was bad - just observing that they made a big architectural change, and performance probably wasn't the primary consideration for rev 1. Weird...
- pestaa 12y agoDrupal 8 is being developed in the Symfony framework. You may have been exposed to a deployment running in development mode (app_dev.php in the URL is a good sign even if not a necessity). Once the debug flag is turned off, Symfony won't check the freshness of the dependency container as well as templates, bootstrap caches, etc. (you clear the cache manually in production.) As to what the Drupal devs may have added on top of the framework, I have no idea. Being a generic CMS, I presume their abstractions are a little bit overengineered.
- aikah 12y agoAFAIK Drupal doesn't use symfony "framework edition" , but symfony/http kernel library at its core to abstract the default PHP http api. So it is a Symfony app as much as Laravel is ... it's not Symfony full stack.
- jkoudys 12y agoD8's a work in progress, and if there's one thing I wouldn't be too critical of a wip for, it's performance. Frankly I don't really see drupal's place in the world anymore. It's so absurdly config-heavy, which may have made sense a decade ago but not now. Everyone will just install composer, put laravel/symfony on there, and be off to the races. The era of giant pages of drupal-managed plugins is over, and replaced by package managers + slimmer CMSes like joomla or concrete5.
- dabernathy89 12y agoI'm a WordPress guy, so I am not a Drupal expert. But Laravel/Symfony and Drupal are targeting mostly different audiences (application developers vs website developers/website owners).
- jkoudys 12y agoLaravel/symfony are just one component. It's the approach of organizing your site as packages, and properly namespacing and exposing well-documented class libraries of your own that's becoming the dominant approach even for websites. Even the concept of a 'website' as simply rendering pages is something fewer people need a custom install for - squarespace et al have the basic sites covered, and for anyone who needs a pretty specific feature there's plenty of other platforms: shopify (commerce), nationbuilder (nonprofits), etc. Having worked with many PHP CMSes, the config for managing various drupal plugins is often far more complex to setup, maintain, and migrate than simply writing that feature in my own little class in concrete5, joomla, or even without a CMS. I get the appeal behind wordpress (even if I think it's implementation is complete garbage), because non-technical people can still setup and manage their plugins. Most of my clients who are/were on drupal, became my clients after they were inevitably crushed under a pile of drupal config.
- snuxoll 12y agoDrupal 8 actually using a lot of Symfony2 components internally now, and you should be able to manage your modules with composer if you so choose. I'm really excited for D8, no other CMS to date has been as easy to administer in my eyes, and now that they're dramatically revamping the module and theming stories I may even enjoy writing modules and themes once more.
- thejosh 12y agoBecause it hasn't begun speed improvements yet. Basically once everything is "done", everyone will optimise it to run faster. There are lots of improvements going in to make it 'fast by default'.
- imakesnowflakes 12y agoIf you consider bolting on whatever feature the php developers can wrap their heads half way around, as "improving", then sure.. See this reddit comment, http://www.reddit.com/r/PHP/comments/2zhg6z/how_true_is_this_php_bashing/cpjhx04 http://www.reddit.com/r/PHP/comments/2zhg6z/how_true_is_this... and tell me what you think about it. When stuff like this exist, does it matter if it gets all the shiny new features and speed improvements? Not to mention that by php's development culture, these new features probably end up half baked and with it's own set of weird behaviors...
- snowwrestler 12y agoI'm sure D8 is a lot slower--isn't performance usually the last thing worked before release?--but I don't think D7 has really been distinguished by its speed either. In my experience, D7 speed tuning consists almost entirely of inserting and tuning cache layers at every level. In other words, working around the slowness of the application. Drupal seems great for a content-heavy site that caches well. Personally, I would not build an account-based, heavily personalized web app in Drupal unless I knew the audience was pretty small. Even in the dinky D7 sites I've run, we got significant performance improvements just by handing off search and commenting to services other than Drupal (SOLR and Disqus).