archive_me1Add my vote for this tag performance1Add my vote for this tag stale_content1Add my vote for this tag create new tag
, view all tags
How much DakarPerformance can we reasonably expect to achieve? All of the benchmarks and tests surrounding Cairo are focussed on how much worse it is than AthensRelease. However I really want to know is how much better could it be than Athens? I don't think Athens perf was all that hot myself.

-- MattWilkie - 15 Sep 2004

I've dredged through a lot of the code now, and found some right howlers. Based on simply recoding fragments of the current code and reaping dead and duplicated code I think we can achieve ~30 AthensMarks. Rather depends on whether we can find perl experts to review the code and spot the howlers.

As they say in the marketing department, it's not what you sell, but how you sell it. Greater performance can be 'achieved' through judiciously making certain functionality optional - for example,

  • disabling plugins in the release
  • moving %TOC% into a plugin
  • making the whole protections scheme a plugin
  • Stop slavishly supporting %VARIABLE% expansion for every Set.
I think we can get back to ~80 AthensMarks doing this.

To go beyond that requires refactorings which will change the semantics of TWikiML, because they require recoding the core rendering loop. That should get us to 100 AthensMarks, but I doubt it would take us beyond.

Wholesale refactoring to a TopicObjectModel might take us slightly further; say 110 (guessing)

IMHO to go beyond that requires a major technology shift e.g. a different implementation language or recoding key sections in C.

Just my opinion.

-- CrawfordCurrie - 15 Sep 2004

TWiki's performance is in stark contrast with Wikipedia and XWiki, that work with a database backend. Would a database be an option for TWiki?

-- ArthurClemens - 15 Sep 2004

So just for clarity: you think that with a lot of work Dakar might be able to equal Athens performance. While better-than-Athens will not happen without a radically different substrate. (?)

So we could say then that "Dakar is ready for release when we've achieved 50% of Athens performance?" I'm trying to pick a number which would allow a new stable release in less than year.

-- MattWilkie - 16 Sep 2004

While it's nice to have release goals of either when we've got X% performance or after Y months, I think it would be better to release when it's clear that any more performance gains or feature improvements are going to take significantly more effort than for the gains already made.

-- SamHasler - 17 Sep 2004

Arthur; yes. I've been shot down in flames enough times for suggesting it that I didn't even bother. But a database backend could make a signficant difference. However I see that as a "major technology shift".

Matt, yes. Just my opinion, of course.

Sam, I think it will never be "clear" - perl is so complex and unpredictable that the wierdest and most unintuitive small change can make a significant difference to performance.

My personal preference is to set a date target. Say we will release Dakar on Dec 1 come hell or high water, and that it will be focused on performance and not features.

-- CrawfordCurrie - 18 Sep 2004

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r6 - 2004-09-18 - CrawfordCurrie
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.