{"id":554,"date":"2008-03-22T09:40:04","date_gmt":"2008-03-22T09:40:04","guid":{"rendered":"http:\/\/neosmart.net\/blog\/2008\/wordpress-performancepress-and-gsoc-2008\/"},"modified":"2013-08-26T18:18:20","modified_gmt":"2013-08-26T23:18:20","slug":"wordpress-performancepress-and-gsoc-2008","status":"publish","type":"post","link":"https:\/\/neosmart.net\/blog\/wordpress-performancepress-and-gsoc-2008\/","title":{"rendered":"WordPress, PerformancePress, and GSoC 2008"},"content":{"rendered":"<p>For those of you that haven&#8217;t yet heard, WordPress is once-more taking part in the Google Summer of Code. Google Summer of Code 2008 is a Google-sponsored program where college students are encouraged to contribute to their favorite open-source projects for a summer, and in exchange both they and their mentors receive some monetary compensation\/motivation for their efforts.<\/p>\n<p>I really don&#8217;t need to go into details about this much, since Lloyd Budd has done such a good job explaining <a href=\"http:\/\/foolswisdom.com\/wordpress-google-summer-of-code-2\/\" rel=\"follow\">what it is<\/a> and what WordPress hopes to achieve in this program. This year, WordPress has an even-larger and more-exciting <a href=\"http:\/\/codex.wordpress.org\/GSoC2008\" rel=\"follow\">list of possible projects<\/a> than before, along with a list of the mentors available for each idea. This Google Summer of Code, <a href=\"http:\/\/codex.wordpress.org\/GSoC2008#Performance\" rel=\"follow\">I&#8217;ll be mentoring<\/a> for the WordPress projects in the one area that is closest to my heart: improving performance.<\/p>\n<p>It would be unfair to say that WordPress is slow or an inadequately-performing blogging engine, because that&#8217;s not really true. &quot;Performance,&quot; more than any other software characteristic or trait, is a very relative and subjective index. It depends on thousands of different factors, it has dozens of different baselines, and most confusingly of all, sometimes the <em>perception<\/em> of performance matters more than the performance itself.<\/p>\n<p><!--more--><\/p>\n<p>But no matter where WordPress is now in terms of high-performance, there&#8217;s <em>always<\/em> room for improvement. Late last year, disappointed in this very blog&#8217;s less-than-stellar showing during the many Slashdot and Digg appearances (even on a <a href=\"http:\/\/www.lpwebhosting.com\" rel=\"follow\">damn-decent dedicated server<\/a>), we decided to re-write the WordPress front-end from scratch.<\/p>\n<p>You&#8217;re looking at the result now: the homepage and individual posts are powered by PerformancePress, our in-house re-write of the WordPress page-displaying code. <em>The NeoSmart Files<\/em> is still running WordPress, just behind the covers. The procedure we followed in developing PerformancePress was simple: only load what you need, don&#8217;t waste CPU cycles if you don&#8217;t have to, minimize SQL queries wherever possible, don&#8217;t loop when you can avoid it, and a number of other load-reducing principles.<\/p>\n<p>The thing is, there&#8217;s a <em>huge <\/em>difference between in-house code and software that&#8217;s been &quot;generically-developed&quot; for use by the masses. While we could make assumptions about our own use of the blogging system, the WordPress project doesn&#8217;t have that privilege. There is no cutting-corners or jumping to conclusions on a for-redistribution project. Flexibility usually comes at the cost of optimization; and the net result can be more than a little tricky to understand.<\/p>\n<p>These are some of the same reasons we cannot just &quot;release&quot; the current PerformancePress code we&#8217;re using here &#8211; it wouldn&#8217;t last 10 minutes in the real world. But hopefully this Google Summer of Code we will have a chance to bring out in WordPress the best of both worlds. PerformancePress is most likely a dead-end; but it&#8217;s been an invaluable experience in realizing how to create the most resource-efficient, well-scaling webapps; and hopefully we can take that to the next level this summer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For those of you that haven&#8217;t yet heard, WordPress is once-more taking part in the Google Summer of Code. Google Summer of Code 2008 is a Google-sponsored program where college students are encouraged to contribute to their favorite open-source projects &hellip; <a href=\"https:\/\/neosmart.net\/blog\/wordpress-performancepress-and-gsoc-2008\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":505,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[624,625,52,564,124,54],"class_list":["post-554","post","type-post","status-publish","format-standard","hentry","category-software","tag-google-summer-of-code","tag-gsoc-2008","tag-open-source","tag-performance","tag-php","tag-wordpress"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4xDa-8W","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts\/554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/users\/505"}],"replies":[{"embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/comments?post=554"}],"version-history":[{"count":1,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts\/554\/revisions"}],"predecessor-version":[{"id":2518,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts\/554\/revisions\/2518"}],"wp:attachment":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/media?parent=554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/categories?post=554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/tags?post=554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}