lundi 20 juillet 2015

Is it me, or Laravel Lumen is actually pure sham?

When I heard about that new Lumen framework, I said "Great, they decided to do something about the poor performance of Laravel".

Lumen advertize itself (frontpage) as "The stunningly fast micro-framework by Laravel." or "a framework dedicated to micro-services". 
Yeah, you got it, the proper buzzword.

Then I saw some reddit post arguing that indeed it is faster than all others (ie Slim).
Then I went over this article from the author himself 
http://taylorotwell.com/how-lumen-is-benchmarked/
(I will not get into the discussion on how wrong is this environment setup for benchmarks).

So since I know from my personal benchmarks that there is a huge gap between Laravel & Slim2 (Slim being 9x faster), since I noticed that Slim3 is slower than Slim2, I decided to setup a fresh machine to see by myself.

Quickly, my conclusion: it is pure sham, Slim3 is 2 times faster than Lumen.

  1. Lumen --> Requests per second: 212.89 [#/sec] (mean)
  2. Slim3 --> Requests per second: 526.94 [#/sec] (mean)

Notes :
- command used: ab -k -t 10 -c 10 url
- "composer dump-autoload -o"  executed as stated in the link above


Why do I think it is intellectual sham?
Remove the buzzword and you end up with yet another framework that by its existence aknowledges the poor raw performance of laravel. 

However, when you look deeper it is far better than Laravel because a simple hello controller will only load 52 files (while laravel is 127).
So it equals Silex - And still it is bloatware.
A true microframework loads below 20 files,the lowest I seen is 6 files.
Why is it important? we all know the loaded files number has prime impact on performance.

This is not a microframework (158k SLOC!)

Conclusion v2
Why creating a new brand? Why not just calling this the new Laravel version N+1, a complete rewrite, that tackles its pathetic performance? 


Conclusion v3
They advertize about performance: it is pure sham. 
To me It is just like creating a problem (overengineering a simple thing) and then being proud of yourself because you finally been able to solve it ;-)



Related Posts:

  • The Web is Us Welcome to my discussion on current web trends. I am sharing here my expertise and interests about web technologies - and my toughts about it. A tought I had the other day: The Web is us - The Techies If you always ask "w… Read More
  • PHP 5.3.29 came out, and it is EOL - End of Life 14 Aug 2014: The PHP development team announces the release of PHP 5.3.29. This release marks the end of life of the PHP 5.3 series.  The thing is: why putting it EOL now, when it is the most widely used vers… Read More
  • acronym of the day: YAGNI This is an important principle, as important as it is easy to understand. It stands for "You aren't gonna need it". Quoting Wikipedia (YAGNI at wikipedia): You aren't gonna need it" is a principle of extreme programming (… Read More
  • Best PHP Frameworks 2014 I am fed up of that kind of post, [21-best-php-frameworks-2014], that you got when searching words like "top 10 php frameworks 2014". They keep on repeating the same content, rewriting each other, and these are such poo… Read More
  • Laravel facades...misuse the term, they are proxies, ok? The problem with the advent of Laravel and its popularity, is that it teaches wrong ideas to a huge amount of people. Laravel facades are not facades. They definetely misuse the term. What Laravel calls facade is just … Read More

2 commentaires:

  1. The post is written in very a good manner and it contains much useful information.
    Laravel Development Services

    RépondreSupprimer
  2. Thank you for sharing this informative post on laravel. I am new to laravel and this post will really help me.
    Laravel Web Development Services

    RépondreSupprimer