Simple PHP Framework Performance Comparison
|
Average |
Tuned |
Baseline HTML |
1327.9 |
Baseline PHP |
331.8 |
CakePHP |
3.7
|
CodeIgniter |
21.5 |
118.0 |
Zend Framework |
9.2 |
52.0 |
[source…]
Up at work Rasmus always dogs on PHP frameworks due to their “high per-request overhead at scale”. There was another article I read recently about PHP itself being a web framework more-so than other programming languages. Ah, here it is - the article comparing PHP out of the box to rails.
Sure, Cake, Symfony, CI - they all help you build PHP applications. But
unlike a Ruby framework or a Python framework, coding is perfectly tolerable
without them. Of course, most developers tend to create their own framework
as they go along - I call this PHP’s DIY framework mentality, where you
build the last level in your stack, and by extension you know exactly
what’s going on under the hood.
[source…]
The idea being that when you take on a framework, you get a rapid increase in initial development speed, but a lot of decisions have already been made for you, and it might not be convenient to shake out those rough spots after you’re significantly invested in the platform. It is extremely easy to make the case that if you have this problem, it’s a pretty good problem to have.
Personally when working with frameworks, my goal is to have as little framework-dependent code as possible, such that when I do feel the need to switch from framework a to framework b I don’t lose my “logic”. My strategy is generally to have as much code as possible in library classes with unit tests, then layer functionality on top of that in whatever framework du-jour happens to be appropriate.
The other thing Rasmus talks about (which feels funny to most PHP programmers) is that you shouldn’t really program in PHP. He thinks that you should do your serious work in C (making it a PHP extension) and use PHP just for the HTML, etc. When people come up with “I’m looking for a good templating language for PHP”, his general response is: “PHP makes a pretty good templating laguage.” :^)
See the principle of least power for an example of what people asking for a PHP templating language are really asking for. Maybe it’d be nice to add an extension to PHP like:
<?simplephp … ?>
…that only accepted echo, foreach. It’s not about PHP’s fitness for purpose, but that it has grown to be too powerful, and people now tend to use it as the general purpose language, muddying some of the benefits that it started off with.
10:19 CST | category / entries / links
permanent link | comments?
You Don’t Have a Cell Phone?
- 1998: Solidarity (“Yeah, me neither—I hate those things!”)
- 1999: Envy (“Lucky you; I had to get one for work.”)
- 2000: Indifference (“Okay, what’s your home phone number then?”)
- 2001: Encouragement (“You should get one—you can play Tetris on them now!”)
- 2002: Confusion (“I thought you were, like, a tech guy.”)
- 2003: Sympathy (“They’re getting pretty cheap. You’ll be able to afford one soon.”)
- 2004: Irritation (“So how am I supposed to get a hold of you?”)
- 2005: Derision (“If we go out tonight I’ll send you a fax.”)
- 2006: Skepticism (“Are you serious?”)
- 2007: Awe (“Wow, you’re like the last one.”)
- 2008: Incomprehension (“You don’t … how …?”)
[source…]
…as someone who got into the cell-phone game probably around 2005-2006, I might have held out until 2007 if I had known that awe was the next reaction in line. It’s like the twelve steps of luddite-is.
20:38 CST | category / entries / links
permanent link | comments?
In the Desert
In the desert
I saw a creature, naked, bestial,
Who, squatting upon the ground,
Held his heart in his hands,
And ate of it.
I said: “Is it good, friend?”
“It is bitter-bitter,” he answered;
“But I like it
Because it is bitter,
And because it is my heart.
[source…]
23:19 CST | category / entries / links
permanent link | comments?
Overheard on Slashdot
A boss of mine once said this:
Class A people hire class A people
Class B people hire class C people
I think that is spot on.
[source…]
Some other good links I’ve run across lately- a story about how supporting an existing system can be more difficult than the system itself needs to be. Some insights on unit testing, and a small cautinary tale about the perils of investing a lot of energy in GUI-testing. You’ll never get humans completely out of the loop, so take advantage of the time that they’re in there.
I’ve gotten shanghaied by the Dallas PHP user group into pulling together a full GUI testing presentation to complement the unit testing presentation I gave and that Tommy and I recently reprised.
I think I’ll look at it in two ways:
- as a full-time job (full libraries, state machines, etc)
- as a quick adjunct to normal development (ie: re-record 10 tests once a week)
…and making sure to emphasize how GUI automation dovetails with code-level unit testing.
08:53 CST | category / entries / links
permanent link | comments?
Guitar Hero for ummm- Guitars?
ZOMG! It’s just what I was looking for, except not quite. If they put in chord-charts and/or actual note-reading, it’d be perfect. Luckily I’ve advanced quite a bit on the note-reading that I can play most songs that I come across, including ones in different keys (ie: that have non-explicit accidentals due to the key signature). More videos as I get time.
And for those following along at home, yes this is about the third post in three days. Do not adjust your feed readers, I only hope this doesn’t mean my next post will be in April. :^)
23:48 CST | category / entries / links
permanent link | comments?
One Semester of Spanish
Updates, get your updates. To the left you will find imported RSS feeds from del.icio.us and video.yahoo.com. The del.icio.us stuff is basically stuff that I either want to find again, or looks interesting but I don’t have time to read. You’ll have to subscribe to them individually until I can figure out awesome RSS aggregation or similar. I try to push at least one blog entry a month (and two if I skip a month :^) - if you visit my page at least once a month, you’ll find that the links on the left get little asterisks if they’ve been recently added.
I’ve got more guitar recordings going, I’m getting geometrically better at recording good “takes” of the songs… the first time took 10, the next time took ~5, the most recent ones took between 1 and 3 (yes, one take!!!). I will post them as bandwidth and time allows.
For now, you should check out this spanish love song… I must learn it so I can sing to Bety.
link
17:44 CST | category / entries / links
permanent link | comments?
Heaven!
Vi-Search … it has just dethroned google as my default search engine.
Update: and since people keep asking me, here’s a neat vi cheat sheet. Not as good as some of the other ones I’ve seen, but I’ll have to find that link and add it later.
Update 2: Ok, google is better than snap.com search, and there’s a nifty greasemonkey script that adds vi-keys to google. ‘nuff said.
14:37 CST | category / entries / links
permanent link | comments?
Advancements in UI
At work there was a discussion about scroll-bars as they related to web-pages. Some people were very much on the side of “don’t mess with the scroll-bars”, while others were more open to styling the scroll bars depending on the needs of the application / web-page. I was on the side of: “It’s a scroll bar, don’t mess with it” until I saw the following:
[source…]
…there are 101 things that you can get wrong if you try to implement a new scroll-bar from scratch, but the above shows that the scroll-bar is far from a solved-problem.
You can see other “innovations” in scroll-bars with video/audio editing software. Attack of the 80’s. :^)
Video tracks represent the timeline of your videos, just as if you layed real
photo film on horizontally on a table. The individual images you see on the
track are a sample of what is located at that particular time on the
timeline.
[source…]
11:49 CST | category / entries / links
permanent link | comments?
CBS 11 News on Yahoo! Video
Watch depressing local news on Yahoo!, of all places. But seriously, marvel at local news reports on the internet.
17:40 CST | category / entries / links
permanent link | comments?
Pretty sweet guitar playing
[source…]
Part of the Yahoo! TalentShow… one day I hope to play as nicely as he does. One day soon, I will also be slapping some of my own video’s up here, probably after I’ve practiced a bit more for the ~recital~ we’re having for guitar lessons on the 16th of December (exactly 1 month away, yikes!).
12:13 CST | category / entries / links
permanent link | comments?
Like what you just read? Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.