Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Vanilla 0.9.3 Scalability

MarkMark Vanilla Staff
edited November 2005 in Vanilla 1.0 Help
I had what started out to be a very upsetting day today. I installed Vanilla 0.9.3 and Vanilla 0.9.2 alongside each other and ran some speed tests. I pointed both applications at a backup copy of this community database and ran them. Vanilla 0.9.2 returned the discussion index page in approximately 0.40 seconds. Vanilla 0.9.3, however, returned the same data in approximately 0.48 seconds. I was pretty upset at this because I was expecting a significant and obvious speed increase in Vanilla 0.9.3. I downloaded the XDebug Profiler and started getting down into the code line by line to figure out what was slowing it down. I found a couple of small bottlenecks, but for the most part it was pretty difficult to speed things up without trashing the whole notion of object oriented php. And, since oophp is the only real fun I get out of this thing, I decided not to go down that road. On a whim, I decided to throw a bigger database at the two applications. I grabbed a copy of a database with appx 30,000 discussions (one of you donated this massive database to me for testing a few months back - thanks again :). Vanilla092 delivered the discussions in approximately 2.32 seconds. Vanilla093 delivered the same data in approximately 0.74 seconds. So a bad day turned out good. I'm pretty pleased with that scaling gain. I still have some work to do on the database and the queries. And eventually I'd like to streamline some of the code a bit more (I'd like to change the SqlBuilder object completely - which should speed things up). But that's all stuff that will happen after 0.9.3.
«13

Comments

  • Nicely done Mark, you are the man and some other generic compliments. That is swell to hear that you can hold Vanilla a valid option for larger boards aswell. How are we looking on the schedule? Beta soon and when we can get our stinking fingers on the templates, I'm jonesing!
  • MarkMark Vanilla Staff
    It's almost ready for launch. If I can have another three days of solid programming, it will be good to go. But, you know how these things go, so I'm not going to set any firm dates. I said I'd try to get it out before the end of November, and that's still my plan. I've been talking with Nathan about getting a drupal bug tracking system set up (the one he posted about a while ago), and we're working on it...
  • Glad to hear about the speed improvements. I can't wait for the next release!
  • So wait, is 0.93 actually consitantly slower with smaller databases or was it just misbehaving? Eitherway the speed increase on bigger databases seems mighty impressive for me - i'm sure that'l keep a couple of the most recent enquiries happy. *massages mark while he works
  • Well even with the 0.08 second speed increase on this size database I'd still say that there is hard to find faster forum out there. And when going to larger databases Vanilla can beat them hands down. Mark, as your lawyer I suggest that you keep away from the "when it is ready(tm)" category since I believe that id and 3d Realms are going to ask some kind of monetary compensation for the use of it. Other than that, I really like the idea of bug tracker.
  • NickENickE New
    edited November 2005
    I'd still say that there is hard to find faster forum out there

    Well, I wouldn't say that. punBB averages out on my server at 0.035 seconds, and ThWBoard not far behind. Then again, the database is pretty minimal, but I still wouldn't declare Vanilla to be the fastest forum on the 'net.
  • But I didn't declare Vanilla the fastest forum on the web, I said it would be hard to find a faster forum, and most popular mainstream forums like vBulletin and phpBB are slower.

    hard to find

    Leaves the option of faster forum still open.
  • I know, but punBB isn't that off the beaten track, so the comment 'hard to find' might be streching it a bit.
  • Well, it was not but around one month ago, that I didn't know jack about punBB so it would have been hard to find for me.

    So sure if you know all the forum softwares out there and you are a developer yourself you can find faster software and maybe even make it faster, but you have to remember that many of the users and main demographic are people who are just looking for a forum software and every feature counts, and when Vanilla comes out with impressive speed, they don't care if there is one slightly faster or not.
  • MarkMark Vanilla Staff
    edited November 2005
    PunBB is a great piece of software. The developers have worked really hard at streamlining the code so that it is incredibly fast. When I made Vanilla, while speed was on my mind, it was not my main concern. I wanted to make a piece of elegant software - both in GUI and code architecture. I knew that going the oophp route would cause the end result to be slower than the competition. The fact is that php just isn't optimized for class driven architecture. PHP is a scripting language meant to write small scripts - not OOP enterprise software. But that's what I wanted to write, so that's what I did. I'm really happy with the end result despite it's speed issues. It has many benefits over other pieces of forum software out there, not the least of which is a completely extensible framework that allows amazing expanability of the central forum - but also allows quick application development for other projects. I worked on another application for Lussumo two days ago. I put in eight hours of work, and it's almost finished. There are always going to be pros and cons when choosing forum software, and Vanilla will never be the best answer to all forum questions. To expect that would be absurd, and I don't have any illusions in that regard.
  • Sahweeet!
  • When can we expect 0.9.3? I wanna download it! Lol.
  • NickENickE New
    edited November 2005
    >When can we expect 0.9.3?

    Taken directly from mark's post:
    It's almost ready for launch. If I can have another three days of solid programming, it will be good to go. But, you know how these things go, so I'm not going to set any firm dates. I said I'd try to get it out before the end of November, and that's still my plan.
  • you dont expect vanilla to be the best answer to all forum questions?! I'm ashamed of you mark!
  • Lol, oops, I obviously read through this discussion too fast.
  • i just cant wait for the minivanilli theme!
  • Few things to break down now, so as Mark said, php doesn't work fast in OO environments I'm wondering if other scripting languages have the same problem also, like the publishing platform I'm working on with RoR, caould RoR have similar problems aswell? And another question, what PHP book would you guys recommend?
  • edited November 2005
    i just cant wait for the minivanilli theme!
    This one?

    image

    Yeah, it's pretty sweet...
  • Mark, you're talking about version 0.9.3... While I've read a post that mentioned version 1.0 ?? Is version 0.9.3 the new framework? Or just an update on the current one? And does this version contain the new template support? I'm confused :P
  • Jazzy: You could read the wikipedia article I wrote about Vanilla. But long story short, the 0.9.3 is the beta, and when everything is fixed in it, it will be re-released as Vanilla 1.
This discussion has been closed.