Difference between revisions of "Performance/Meetings/2009 03"

From Apache OpenOffice Wiki
Jump to: navigation, search
m
m (IRC meeting time)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
= Brief meeting summary  =
+
== 2009-03-27 ==
== Agenda  ==
+
=== Agenda of IRC ===
 
1.Update overall status  
 
1.Update overall status  
  
 
2.To Discuss how to measure performance of user experience.
 
2.To Discuss how to measure performance of user experience.
  
== Overall Status ==
+
=== Overall Status ===
  
 
{| class="prettytable"
 
{| class="prettytable"
Line 66: Line 66:
  
 
|}
 
|}
== Details ==
+
=== Details ===
 
===== IRC meeting time =====
 
===== IRC meeting time =====
 
To change time of IRC meeting to Fridays, 08:00am UTC
 
To change time of IRC meeting to Fridays, 08:00am UTC
Line 76: Line 76:
 
benchmark-system/src/benchmark for native helper code
 
benchmark-system/src/benchmark for native helper code
  
benchmark-system/src/tools for view & trace tools  
+
benchmark-system/src/tools for view & trace tools
  
== Log of meeting ==
+
=== Log of meeting ===
  
 
{| class="prettytable"
 
{| class="prettytable"
Line 474: Line 474:
  
 
|}
 
|}
 +
 +
== 2009-03-20 ==
 +
=== Agenda of IRC  ===
 +
1.Update overall status
 +
 +
2.Continue to discuss how to organize the source tree in performance module and move all tooling code into it.
 +
 +
=== Overall Status  ===
 +
 +
{| class="prettytable"
 +
| Work
 +
| Status Description
 +
| Member(IRC nick)
 +
 +
|-
 +
| Tools with RTL_LOG
 +
| Have commited the tools that creates spreadsheet from RTL_LOG files and have updated its documentation ine the Wiki.
 +
| '''odf-mib'''
 +
 +
|-
 +
| 3.1 blockers
 +
| Was occupied with 3.1 blockers
 +
| '''erAck'''
 +
 +
|-
 +
| OOo Performance Test System
 +
| Got the server machine and will deploy on it in next week , and post the performance diagram definitions for several hotspots on this server and wiki page.
 +
| '''liheng'''
 +
 +
|-
 +
| Symbolic relocations
 +
| Further digging at -Bsymbolic-functions showed that using it is unsound, so looking at other ways (code modifications) to reduce number of symbolic relocations at startup. Interestingly, Hamburg RE switched to new GCC and binutils (somewhat older than what I use in my experiments) for DEV300m44, lets see whether my results are replicable with that toolchain too.
 +
| '''sb'''
 +
 +
|-
 +
| PDF export
 +
| Try to do the I/O performance improvment around PDF export next week .
 +
| '''tora-japan'''
 +
 +
|-
 +
| Asynchronous load
 +
| Have been fixing some bugs about Asynchronous Loading
 +
| '''zhangyuwei'''
 +
 +
|-
 +
| Performance test
 +
| Implement simple application to test performance with I/O and muti-thread .
 +
| '''liangjun'''
 +
 +
|-
 +
| Trace code for Windows
 +
| Due to show stopper I could only spend little time to work on the trace code for Windows. I finished the assembler part which is called by the MS compiler (_penter). Now I concentrate on the code which manages the calls and stores it for every module. Hope to have a version ready next week and try to get an order file for the Writer to optimize the linkage order.
 +
| '''cd_oo'''
 +
 +
|-
 +
| Incremental save
 +
| Reserching on XML incremental save, trying to finish a demo now. I can finish it next week if it goes well.
 +
| '''yugq'''
 +
 +
|-
 +
| '''Module "store" improvements '''
 +
| Cws mhu17 (module "store" improvements part 1) is being integrated, but maybe I need to deliver a late patch for building Windows.I am thinking about (a) store improvements part 2, and (b) buffered file I/O
 +
| '''mhu'''
 +
 +
|}
 +
 +
=== URIs mentioned ===
 +
* [[UEI]]   (liheng)
 +
 +
=== Log of meeting ===
 +
{| class="prettytable"
 +
|(4:36:27 PM) '''liheng: '''Agenda:1.Update overall status
 +
 +
|-
 +
| (4:36:28 PM) '''liheng: '''2.Continue to discuss how to organize the source tree in performance module
 +
 +
|-
 +
|(4:36:28 PM) '''liheng: '''and move all tooling code into it.
 +
 +
|-
 +
|(4:37:48 PM) '''erAck:''' To start: nothing new from me, I was occupied with 3.1 blockers.
 +
|-
 +
|(4:39:11 PM) '''odf-mib:'''I have commited the tools that creates spreadsheet from RTL_LOG files and have updated its documentation ine the Wiki.
 +
|-
 +
|(4:39:39 PM) '''liheng:''' I got the server machine and will deploy benchmark-system service on it in next week.
 +
|-
 +
|(4:39:39 PM) '''liheng:''' And we will post the performance diagram definitions for several hotspots refered by User Experience Index (Wiki Page:[http://wiki.services.openoffice.org/wiki/UEI http://wiki.services.openoffice.org/wiki/UEI]) on this server and wiki page
 +
|-
 +
|(4:40:19 PM) '''Dieter_:''' liheng: that sounds really good!
 +
|-
 +
|(4:40:29 PM) '''Malte: '''Yes :)
 +
|-
 +
|(4:40:52 PM) '''Malte: '''wrt "how to organize the source tree in performance module "
 +
|-
 +
|(4:41:00 PM) '''Malte: '''What about the place we discussed?
 +
|-
 +
|(4:41:07 PM) '''sb: '''My status update: Further digging at -Bsymbolic-functions showed that using it is unsound, so looking at other ways (code modifications) to reduce number of symbolic relocations at startup. Interestingly, Hamburg RE switched to new GCC and binutils (somewhat older than what I use in my experiments) for DEV300m44, lets see whether my results are replicable with that toolchain too.
 +
|-
 +
|(4:41:35 PM) '''liheng: '''Yes, but the waiting time is too tough.
 +
|-
 +
|(4:42:06 PM) '''tora-japan:''' My status: Nothing new from me, either.
 +
|-
 +
|(4:42:06 PM) '''tora-japan:''' I have been working for other things like how to run soffice.bin under 'chroot'ed environment, etc.
 +
|-
 +
|(4:42:06 PM) '''tora-japan:''' I am trying to do the I/O performance improvment around PDF export next week.
 +
|-
 +
|(4:42:32 PM) '''zhangyuwei:''' status: I have been fixing some bugs about Asynchronous Loading.
 +
|-
 +
|(4:42:33 PM) '''liheng:''' Malte:about performance repository
 +
|-
 +
|(4:42:52 PM) '''liangjun: '''I'm implementing simple application to test with I/O and muti-thread performance.
 +
|-
 +
|(4:43:14 PM) '''liheng:''' eg.To move all performance tooling code into our repository
 +
|-
 +
|(4:44:09 PM) '''cd_oo:''' Due to show stopper I could only spend little time to work on the trace code for Windows. I finished the assembler part which is called by the MS compiler (_penter). Now I concentrate on the code which manages the calls and stores it for every module. Hope to have a version ready next week and try to get an order file for the Writer to optimize the linkage order.
 +
|-
 +
|(4:45:10 PM) '''yugq:''' My status: I'm reserching on XML incremental save, trying to finish a demo now. I can finish it next week if it goes well.
 +
|-
 +
|(4:46:16 PM) '''Malte:''' liheng: odf-mib already has his tool in the repository, which is independent from your tool.
 +
|-
 +
|(4:46:19 PM) '''Malte:''' What about your module "benchmark-system"?
 +
|-
 +
|(4:46:38 PM) '''Malte:''' benchmark-system/src, benchmark-system/doc, benchmark-system/...
 +
|-
 +
|(4:47:42 PM) '''zhangyuwei:''' odf-mid: hello, good afternoon, Have you checked my code about Asynchronous Loading on m42?
 +
|-
 +
|(4:49:34 PM) '''odf-mib:''' zhangyuwei: Sory, no, I didn't. I may have overlooked something, but where do I find the code?
 +
|-
 +
|(4:49:37 PM) '''liheng:''' These code will be posted in next week when server setup, maybe need a little changes.
 +
|-
 +
|(4:49:49 PM) '''sb:''' Malte: Re agenda item 2: Last week, we wondered why there is a private SVN repo in performance.openoffice.org. Seems you at least know something about it?
 +
|-
 +
|(4:51:20 PM) '''Malte:''' sb: No idea why it's a separate repossitory, but it's fine for me
 +
|-
 +
|(4:51:25 PM) '''liheng:''' Malte:RTL_LOG was in sal/rtl module but I think we do same work, should be in the same module
 +
|-
 +
|(4:51:41 PM) '''Malte:''' sb: It's also different in other ways:
 +
|-
 +
|(4:52:00 PM) '''Malte:''' Web site is not in CVS, like rest of OOo, but in SVC, sub folder www
 +
|-
 +
|(4:52:11 PM) '''Malte:''' SVC => SVN...
 +
|-
 +
|(4:52:51 PM) '''Malte:''' liheng: Not sure what you mean, can you explain?
 +
|-
 +
|(4:53:43 PM) '''odf-mib:''' To be clear: I did not change anything from RTL_LOG. I've only created a tool that analyzes the log files.
 +
|-
 +
|(4:54:14 PM) '''odf-mib:''' The RTL_LOG file creates itself is part of OOo. We can't combine thes etwo things.
 +
|-
 +
|(4:55:10 PM) '''sb:''' So we are all fine with using that additional repo instead of svn.services.openoffice.org/ooo/contrib/? (My guts say its odd that way, but I cannot think of any substantial arguments at the moment.)
 +
|-
 +
|(4:55:48 PM) '''erAck:''' sb: no, I'm not fine with that. I don't see any benefit from using Collab's repository.
 +
|-
 +
|(4:57:01 PM) '''erAck:''' au contraire, it might even complicate things because you need different access controls.
 +
|-
 +
|(4:57:29 PM) '''erAck:''' plus, OOo will move to a DSCM.
 +
|-
 +
|(4:57:59 PM) '''liheng:''' Malte:I mean we can move all performance tooling code into performance repository.
 +
|-
 +
|(4:58:35 PM) '''mhu:''' Hi all, sorry for joining late ...
 +
|-
 +
|(4:58:35 PM) '''zhangyuwei:''' odf-mid: "asynloadingimpress" in CWS. But, recently I fixed some bug, I'll update the code next week.
 +
|-
 +
|(4:58:36 PM) '''Malte:''' linheng: We already do it. With tools - but you can't move RTL_LOG there.
 +
|-
 +
|(4:59:25 PM) '''odf-mib:''' To be honest, what matters more to me is what we have in the repository, than where it is. In so far, it is okay for me to use the project's repository rather than the OOo repository.
 +
|-
 +
|(4:59:49 PM) '''erAck:''' odf-mib: it will matter in future where the repository is.
 +
|-
 +
|(5:01:11 PM) '''Malte:''' It will change anyway...
 +
|-
 +
|(5:02:03 PM) '''odf-mib:''' erAck: It may, nut we can move the code later, if we like. I don't expect much code there actually.
 +
|-
 +
|(5:02:07 PM) '''erAck:''' odf-mib: having it at Collab's SVN, you're alone when it comes to abandonig it. Having it at the regular OOo repository it will be nicely converted to the new DSCM by REs.
 +
|-
 +
|(5:03:24 PM) '''liheng:''' In project's repository, anybody can be easy to find and reuse, it is my points
 +
|-
 +
|(5:03:45 PM) '''Malte:''' liheng:yes
 +
|-
 +
|(5:03:59 PM) '''odf-mib:''' liheng: +1
 +
|-
 +
|(5:04:03 PM) '''Malte:''' erAck - that's an argument pro/contra Collab, but OOo is the wrong repository
 +
|-
 +
|(5:04:14 PM) '''Malte:''' OOo should be OOo, not related tools
 +
|-
 +
|(5:04:18 PM) '''liangjun: '''+1:)
 +
|-
 +
|(5:04:59 PM) '''erAck:''' Malte: as Stephan already pointed out: a 'contributing' branch would separate it from the OOo code.
 +
|-
 +
|(5:06:02 PM) '''Malte:''' We talk about "external" tools here, so I really don't understnad the issue, or I missed something
 +
|-
 +
|(5:06:28 PM) '''erAck:''' and as I said already last time: Collab's SVN version is way old, if we'll run into problems, getting support from Collab is, well, you know, somewhat hard.
 +
|-
 +
|(5:06:52 PM) '''Malte:''' That's a better argument ;)
 +
|-
 +
|(5:06:54 PM) '''odf-mib:''' erAck: Maybe I'm wrong, but you would still copy all the content of contrib if you clone a repository although you never need that than only building OOo. So, its a waste of time, bandwidth and size.
 +
|-
 +
|(5:08:27 PM) '''erAck:''' odf-mib: you don't touch svn.services.openoffice.org/ooo/contrib/ if you checkout or clone svn.services.openoffice.org/ooo/tags/
 +
|-
 +
|(5:09:27 PM) '''Malte:''' erAck: We also think about moving extensions to their own repository. Should we stop this discussion until the other is solved?
 +
|-
 +
|(5:11:09 PM) '''erAck:''' Malte: svn.services.openoffice.org/extensions/ and that's solved ... but maybe someone might think different.
 +
|-
 +
|(5:12:27 PM) '''erAck:''' Malte: note that for extensions a separated repository (not just a branch) may be necessary for differenct access control.
 +
|-
 +
|(5:12:51 PM) '''odf-mib:''' All: Does it really matter so much where the repository is. I think as long as those that actually contribute to the repository are fine with its location, then we should keep things as they are.
 +
|-
 +
|(5:16:21 PM) '''liheng:''' Okay,we do all new tooling code and extenal tools in performance repository.
 +
|-
 +
|(5:16:33 PM) '''erAck:''' odf-mib: I just see problems for the future using Collab's repo, so I want to prevent that.
 +
|-
 +
|(5:18:07 PM) '''erAck:''' but as I seem to be the only one, go ahead ...
 +
|-
 +
|(5:18:58 PM) '''erAck:''' you'll clean up later then ;-)
 +
|-
 +
|(5:20:48 PM) '''liheng:''' Any more questions?
 +
|-
 +
|(5:21:29 PM) '''liheng:''' Who can write the MM, this week?
 +
|-
 +
|(5:21:45 PM) '''liangjun: '''LiHeng: I will make up and publish the MM of this meeting.
 +
|-
 +
|(5:22:39 PM) '''mhu:''' LiHeng: anything important that I missed but should better know of ?
 +
|-
 +
|(5:22:41 PM) '''liheng:''' thanks
 +
|-
 +
|(5:22:56 PM) '''liheng:''' That all today
 +
|-
 +
|(5:23:32 PM) '''liangjun: ''':)
 +
|-
 +
|(5:23:49 PM) '''erAck:''' mhu: I don't think so, the minutes' log will have it ;)
 +
|-
 +
|(5:24:04 PM) '''liheng:''' Matthias:Maybe the status of work
 +
|-
 +
|(5:24:17 PM) '''mhu:''' thanks, Eike; I'll then read the minutes.
 +
|-
 +
|(5:24:49 PM) '''mhu:''' LiHeng: you mean status of my work ?
 +
|-
 +
|(5:24:59 PM) '''liheng:''' Yes,:)
 +
|-
 +
|(5:25:53 PM) '''mhu:''' cws mhu17 (module "store" improvements part 1) is being integrated, but maybe I need to deliver a late patch for building Windows.
 +
|-
 +
|(5:26:34 PM) '''liheng:''' Thank you, and the status of other works you can find in MM:)
 +
|-
 +
|(5:26:34 PM) '''mhu:''' otherwise, I am thinking about (a) store improvements part 2, and (b) buffered file I/O
 +
|-
 +
|(5:26:52 PM) '''mhu:''' ...and following all of your work :-)
 +
|-
 +
|(5:27:07 PM) '''mhu:''' okay, then have a nice weekend
 +
|-
 +
|(5:27:24 PM) '''liheng:''' Okay, bye
 +
|}
 +
 +
== 2009-03-13 ==
 +
=== Overall Status ===
 +
 +
{| class="prettytable"
 +
| Work
 +
| Status Description
 +
| Member(IRC nick)
 +
 +
|-
 +
| OOo Performance Test System
 +
| Just finished the first version of test system, and will create CWS and update it next week...
 +
| liheng
 +
 +
|-
 +
| Investigating Calc's area broadcasters
 +
| Started investigating Calc's area broadcasters, see [http://wiki.services.openoffice.org/wiki/Calc/Performance/Refactoring_Area_Broadcasters http://wiki.services.openoffice.org/wiki/Calc/Performance/Refactoring_Area_Broadcasters], but got interrupted by 3.1 blocker issues.
 +
| erAck
 +
 +
|-
 +
| Runtime loader instructions improvements on Linux
 +
| Got substantial improvements of instructions burned in runtime loader on Linux through use of -Bsymbolic-functions/-Bsymbolic (issue 85679) together with latest GCC/binutils; now looking at whether those changes are indeed correct (esp. -Bsymbolic, which can cause different bindings be used for one data symbol across libraries).
 +
| sb
 +
 +
|-
 +
| Reorder code to reduce file I/O
 +
| I want to pack the code which is needed during start up to sequential pages. This should significantly reduce file I/O and help start up performance. I want to create a little helper library which traces what symbols are used during startup. This file can be used with the help of another tool to find the mangled names in the map file. The mangled names must to be put into an order file which can be used by the Microsoft linker to reorder the code.
 +
| cd_oo
 +
 +
|-
 +
| Incremental save
 +
| Trying to finish an incremental storage model for XML files.
 +
| yugq
 +
 +
|-
 +
| Speedup drawing
 +
| I have submitted "downscaledimageshow " in CWS. Which can increase the drawing speed by using the downscaled bitmap of high-resolution images only to draw or "slide show" in the screen
 +
| JackieSun
 +
 +
|-
 +
| Asynchronous load Impress
 +
| I'm fix the bugs of Asynchronous Loading
 +
| zhangyuwei
 +
 +
|-
 +
| Store refactoring
 +
 +
Buffered file I/O
 +
| Works on module 'store' refactorings for better startup performance; milestone 1 of these refactorings is in CWS mhu17, now nominated for integration. Also, I'm evaluating extensions to osl/file for buffered file I/O, similar to what Tora suggested. Maybe I can propose something next week.
 +
| mhu
 +
 +
|-
 +
| I/O issue
 +
| I have no accomplishment on the task of performance improvements this week .
 +
| tora-japan
 +
 +
|-
 +
| Test load/save time with vtune
 +
| Using a hash_map as basis of SfxItemPropertyMap/Set doesn't help for load/save performance. Alphabetical sorting of property names in xmloff in the past - which was required by the previous implementation - helped to prevent unnecessary string comparisons. I didn't yet compare the load/save times in Calc and Impress as it takes a lot of time to get data out of vtune.
 +
| os_ooo
 +
 +
|-
 +
| Wiki structure and project logo
 +
| I am currently working on the wiki structure and on a project logo. I have added a frame on the top right of any performance related wiki page to give the project a visual identity and offer a project navigation to the user. The logo will be shown as soon as it becomes available.
 +
| FrankL
 +
 +
|}
 +
=== URIs mentioned  ===
 +
[http://wiki.services.openoffice.org/wiki/Calc/Performance/Refactoring_Area_Broadcasters Calc/Broadcasters] (erAck created)
 +
 +
[http://www.cs.princeton.edu/~rs/strings/ Ternary search trees] (mhu mentioned)
 +
 +
[http://www.boost.org/doc/libs/1_38_0/libs/spirit/classic/doc/symbols.html Boost/spirit/symbols] (erAck mentioned)
 +
 +
[http://performance.openoffice.org/svn/performance/trunk Svn/performance/trunk] (liheng mentioned)
 +
 +
=== Log of meeting  ===
 +
 +
{| class="prettytable"
 +
| (16:32:09)'''liheng:''' The agenda of IRC Mar. 13th
 +
 +
|-
 +
| (16:32:09)'''liheng:''' 1.Update overall status
 +
 +
|-
 +
| (16:32:09)'''liheng:''' 2.Discuss how to organize the source tree in performance module
 +
 +
|-
 +
| (16:32:09)'''liheng:''' <nowiki>* Move all tooling code into performance module </nowiki>
 +
 +
|-
 +
| (16:34:19)'''liheng:''' I just finished the first version of test system, and will create CWS and update it next week...
 +
 +
|-
 +
| (16:34:37)'''liheng:''' Some detail document will post on WIKI page
 +
 +
|-
 +
| (16:35:10)'''erAck:''' I started investigating Calc's area broadcasters, see [http://wiki.services.openoffice.org/wiki/Calc/Performance/Refactoring_Area_Broadcasters http://wiki.services.openoffice.org/wiki/Calc/Performance/Refactoring_Area_Broadcasters], but got interrupted by 3.1 blocker issues.
 +
 +
|-
 +
| (16:37:28)'''sb:''' My status: Got substantial improvements of instructions burned in runtime loader on Linux through use of -Bsymbolic-functions/-Bsymbolic (issue 85679) together with latest GCC/binutils; now looking at whether those changes are indeed correct (esp. -Bsymbolic, which can cause different bindings be used for one data symbol across libraries).
 +
 +
|-
 +
| (16:38:08)'''cd_oo:''' I want to pack the code which is needed during start up to sequential pages. This should significantly reduce file I/O and help start up performance. I want to create a little helper library which traces what symbols are used during startup. This file can be used with the help of another tool to find the mangled names in the map file. The mangled names must to be put into an order file which...
 +
 +
|-
 +
| (16:38:10)'''cd_oo:''' ...can be used by the Microsoft linker to reorder the code.
 +
 +
|-
 +
| (16:39:10)'''yugq:''' I'm trying to finish an incremental storage model for XML files.
 +
 +
|-
 +
| (16:39:48)'''JackieSun:''' I have submitted "downscaledimageshow " in CWS. Which can increase the drawing speed by using the downscaled bitmap of high-resolution images only to draw or "slide show" in the screen
 +
 +
|-
 +
| (16:39:49)'''zhangyuwei:''' I'm fix the bugs of Asynchronous Loading
 +
 +
|-
 +
| (16:41:54)'''<nowiki>***mhu</nowiki>''' works on module 'store' refactorings for better startup performance; milestone 1 of these refactorings is in CWS mhu17, now nominated for integration. Also, I'm evaluating extensions to osl/file for buffered file I/O, similar to what Tora suggested. Maybe I can propose something next week.
 +
 +
|-
 +
| (16:43:12)'''liheng:''' Okay, I also arrange a report of comparison between several officesuite products,it will post in WIKI in two weeks
 +
 +
|-
 +
| (16:44:06)'''tora-japan:''' My status: I have no accomplishment on the task of performance improvements this week since I have been working on some macro functions such as StrConv(), MidB(), LenB(), the Excel's legacy macro functions. The functions have been successfully and experimentally implemented.
 +
 +
|-
 +
| (16:45:22)'''os_ooo:''' My status: Using a hash_map as basis of SfxItemPropertyMap/Set doesn't help for load/save performance. Alphabetical sorting of property names in xmloff in the past - which was required by the previous implementation - helped to prevent unnecessary string comparisons. I didn't yet compare the load/save times in Calc and Impress as it takes a lot of time to get data out of vtune.
 +
 +
|-
 +
| (16:46:53)'''erAck:''' os_ooo: maybe a perfect hashmap would help?
 +
 +
|-
 +
| (16:47:21)'''liheng:''' os_ooo:We can help you to get the data in CH2000, you can tell how/where to do them.
 +
 +
|-
 +
| (16:50:14)'''liheng:''' os_ooo:Do you need someone to help you get some compared data?
 +
 +
|-
 +
| (16:50:32)'''liheng:''' os_ooo: Do you need someone to help you get some compared data?
 +
 +
|-
 +
| (16:53:07)'''liheng:''' Okay, we go to next topic, How to organize the source tree in performance module.
 +
 +
|-
 +
| (16:53:12)'''FrankL:''' My status: I am currently working on the wiki structure and on a project logo. I have added a frame on the top right of any performance related wiki page to give the project a visual identity and offer a project navigation to the user. The logo will be shown as soon as it becomes available.
 +
 +
|-
 +
| (16:53:45)'''FrankL:''' Do plan to have something like a monthly status presentation? We make this in project Renaissance and this allows us to promote the outcome of the project. This is also something we can show the press to get some more visibility for the project.
 +
 +
|-
 +
| (16:54:14)'''erAck:''' FrankL: present where to whom?
 +
 +
|-
 +
| (16:54:49)'''FrankL:''' Virtually
 +
 +
|-
 +
| (16:55:08)'''FrankL:''' Today it not that easy to get an overview about the current status of the project.
 +
 +
|-
 +
| (16:55:42)'''mhu:''' os_ooo: your comment about "alphabetical sorting" reminded me of "ternary search trees" by Robert Sedgewick; search google/wikipedia for "ternary tree" or see [http://www.cs.princeton.edu/~rs/strings/ http://www.cs.princeton.edu/~rs/strings/]
 +
 +
|-
 +
| (16:56:22)'''os_ooo:''' The code changes are in cws os128. So everybody who wants to create data can do that. At the moment I have only a few documents for Calc, Impress and Draw that I can use.
 +
 +
|-
 +
| (16:58:27)'''liheng:''' os_ooo:Can you send the documents to me, email: [mailto:liheng@redoffice.com liheng@redoffice.com]
 +
 +
|-
 +
| (17:00:05)'''liheng:''' FrankL:Do you want to do something like a status table of CWSes and works?
 +
 +
|-
 +
| (17:00:16)'''liheng:''' : Do you want to do something like a status table of CWSes and works?
 +
 +
|-
 +
| (17:00:18)'''os_ooo:''' liheng: You will get them in a minute.
 +
 +
|-
 +
| (17:00:41)'''liheng:''' os_ooo: Thank you!
 +
 +
|-
 +
| (17:01:00)'''FrankL:''' liheng: I think more like a status report for non technical people.
 +
 +
|-
 +
| (17:02:06)'''liheng:''' FrankL: I see, it very important for UX test case definition.
 +
 +
|-
 +
| (17:03:35)'''FrankL:''' liheng: I think it is important for all of us to have an overview about the improvements. Then we would have something were we can point interested people to.
 +
 +
|-
 +
| (17:04:20)'''liheng:''' FrankL: Yes, and we can show some value about them:)
 +
 +
|-
 +
| (17:04:57)'''liheng:''' 2nd topic is "How to organize the source tree in performance module".
 +
 +
|-
 +
| (17:05:52)'''liheng:''' I think at first we can move all tooling code about performance to performance module, like RTL_LOG
 +
 +
|-
 +
| (17:07:42)'''mhu:''' liheng: with 'performance module' you mean a (top level) directory 'performance' in OOo SVN repository, right ?
 +
 +
|-
 +
| (17:08:04)'''liheng:''' Yes,
 +
 +
|-
 +
| (17:08:18)'''mhu:''' okay
 +
 +
|-
 +
| (17:09:20)'''mhu:''' ... I currently dont know of a better place; can we ask someone else, maybe Martin H. or Heiner R. ? should we ask at all ?
 +
 +
|-
 +
| (17:10:18)'''liheng:''' Matthias: We have a repository of performance
 +
 +
|-
 +
| (17:11:09)'''mhu:''' hmm, an own repository or with OOo svn repository ?
 +
 +
|-
 +
| (17:11:14)'''liheng:''' it's own repository, which is not part of the other OOo repository.
 +
 +
|-
 +
| (17:11:40)'''mhu:''' ahh, then all is fine, and I simply missed something ...
 +
 +
|-
 +
| (17:12:17)'''liangjun:''' +1
 +
 +
|-
 +
| (17:12:49)'''<nowiki>***mhu</nowiki>''' asks himself what the repository url might be, or where it can be found ...
 +
 +
|-
 +
| (17:14:17)'''liheng:''' [http://performance.openoffice.org/svn/performance/trunk http://performance.openoffice.org/svn/performance/trunk]
 +
 +
|-
 +
| (17:15:00)'''erAck:''' os_ooo: boost's spirit library's class symbols uses a ternary search tree, see [http://www.boost.org/doc/libs/1_38_0/libs/spirit/classic/doc/symbols.html http://www.boost.org/doc/libs/1_38_0/libs/spirit/classic/doc/symbols.html]
 +
 +
|-
 +
| (17:17:09)'''erAck:''' liheng: that's not the OOo SVN repository, plus it needs an account and password?!?
 +
 +
|-
 +
| (17:18:59)'''liheng:''' erAck:I use my account in OOo
 +
 +
|-
 +
| (17:19:49)'''sb:''' What is the reason to have such an additional repository?
 +
 +
|-
 +
| (17:20:07)'''liheng:''' erAck:You can check page [http://performance.openoffice.org/source/browse/performance/ http://performance.openoffice.org/source/browse/performance/]
 +
 +
|-
 +
| (17:20:14)'''<nowiki>***erAck</nowiki>''' tried OOo account and works.
 +
 +
|-
 +
| (17:21:04)'''erAck:''' liheng: but I think we should use svn.services.oo.o instead.
 +
 +
|-
 +
| (17:21:43)'''liheng:''' sb: All code of tools are only for benchmark or test OOo.
 +
 +
|-
 +
| (17:22:21)'''erAck:''' it doesn't have to be the .../ooo repository there, as the code is not needed to build OOo, but .../performance or some such may do.
 +
 +
|-
 +
| (17:22:53)'''sb:''' liheng: but why not use something like svn.services.openoffice.org/ooo/contrib/performance then?
 +
 +
|-
 +
| (17:23:49)'''erAck:''' sb: I think it does not need to be in the main repository, no need to check it out just for building OOo.
 +
 +
|-
 +
| (17:24:12)'''<nowiki>***mhu</nowiki>''' also tried OOo account and works, too.
 +
 +
|-
 +
| (17:25:30)'''liheng:''' sb: I will confirm them with Dieter :)
 +
 +
|-
 +
| (17:25:39)'''yugq:''' I think we can use that repository to store other files except the code. Such as some test report or related files.
 +
 +
|-
 +
| (17:26:10)'''erAck:''' whoa, "Powered by Subversion version 1.4.3" ... a version we wouldn't even touch with a pair of pliers ;-)
 +
 +
|-
 +
| (17:26:14)'''sb:''' erAck: that's why I wrote "/contrib/"
 +
 +
|-
 +
| (17:26:15)'''yugq:''' I can see mt have performance-startup-2005 odt on it now.
 +
 +
|-
 +
| (17:26:55)'''mhu:''' maybe Malte can tell some details when he is back from vacation next week
 +
 +
|-
 +
| (17:27:00)'''erAck:''' sb: ah, ok, same repository but different branch; yes, might be best.
 +
 +
|-
 +
| (17:27:39)'''liheng:''' Okay,that all :)
 +
 +
|-
 +
| (17:27:39)'''yugq:''' mhu: yes! It seems Malte know this repository well:)
 +
 +
|-
 +
| (17:27:54)'''mhu:''' yugq: :-)
 +
 +
|-
 +
| (17:28:08)'''yugq:''' LiHeng: I will make up and publish the MM of this meeting.
 +
 +
|-
 +
| (17:28:26)'''mhu:''' ...and yes, maybe a contrib branch maybe the method of choice
 +
 +
|}
 +
 +
== 2009-03-06  ==
 +
 +
=== Brief meeting summary ===
 +
 +
==== Overall status ====
 +
 +
{| class="prettytable"
 +
| Work
 +
| Status Description
 +
| Member
 +
 +
(IRC Nick)
 +
 +
|-
 +
| OOo Performance Test System
 +
| A set of tools in Java for analysis binary raw data, and will create and update the CWS next week.
 +
| liheng
 +
 +
|-
 +
| Changing SfxItemPropertyMap SfxItemPropertySet
 +
| It required changes in almost all applications. Everything works well now but I have not had time to create data about the results in load/save time. They will be ready by the end of next week.
 +
| so_ooo
 +
 +
|-
 +
| Merging UNO dlls
 +
|
 +
| yugq
 +
 +
|-
 +
| Analyzing Load/Save
 +
|
 +
| yugq
 +
 +
|-
 +
| Asynloading Impress
 +
| Created CWS asynloadingimpress, based on m42
 +
 +
Put the modified code into on the latest version of the m42,but there some problems neet to check.
 +
| xiuzhi, zhangyuwei
 +
 +
|-
 +
| Improvement of compiling spreadsheet formulas
 +
|
 +
| erAck
 +
 +
|-
 +
| configmgr
 +
| Created and Updated to CWS: svn://svn@svn.services.openoffice.org/ooo/cws/configtune00.
 +
| liangjun
 +
 +
|-
 +
| Tool for Collecting RTL_LOG data into a spreadsheet
 +
|
 +
| ooo_mib
 +
 +
|-
 +
| Analyzing the start up performance
 +
| That most time is lost waiting for file I/O. Library loading is the first to blame, next reading data files.
 +
 +
Another problem is that we lose about 10% with reading internal file system file (for NTFS this is $MFT (master file table) and $Directory.
 +
| oo_cd
 +
 +
|-
 +
| I/O around PDF export
 +
| Working on buffered file I/O around PDF export.
 +
| tora-japan
 +
 +
|}
 +
 +
==== Details ====
 +
 +
'''Test System'''
 +
 +
* The new test system seems almost like the RTL_LOGFILE, but it will create a web system to trace hotspots defined in performance diagram for long-term development. Maybe RTL_LOGFILE and text system can use a all-purpose offline report template (a set of spreadsheet)
 +
 +
'''Save'''
 +
 +
* Saving changed parts is a well known good idea.
 +
 +
'''Test on other OS'''
 +
 +
* ericb2 Can be helpful
 +
 +
'''Improvement for UX(User Experience)'''
 +
 +
* Saving in the background
 +
* Native splash screen would also be good
 +
* Do something for it and discuss again
 +
 +
'''Action Item'''
 +
 +
* liheng to write the MM.<br/>
 +
 +
==== URIs mentioned ====
 +
* [[Calc/Performance/string_handling_in_formula_compiler]] &nbsp;&nbsp;(erAck)
 +
* [[Configmgr_Refactoring/Design]] &nbsp;&nbsp;(liangjun)
 +
* [[Performance_Benchmark_Tool_Set]] &nbsp;&nbsp;(liheng)
 +
 +
=== Log of meeting  ===
 +
 +
{| class="prettytable"
 +
| (4:33:32 PM)&nbsp;'''liheng:'''&nbsp;Agenda:
 +
 +
|-
 +
| (4:33:33 PM)&nbsp;'''liheng:'''&nbsp;1.Communication with overall status.
 +
 +
|-
 +
| (4:33:33 PM)&nbsp;'''liheng:''' 2.To discuss ideas of Saving.
 +
 +
|-
 +
| (4:33:33 PM)&nbsp;'''liheng: '''3.To distinguish user experience works from real optimizing works.
 +
 +
|-
 +
| (4:33:43 PM)&nbsp;'''peter13j:'''&nbsp;liheng: was much longer than I expect the flowing ones to be
 +
 +
|-
 +
| (4:35:13 PM)&nbsp;'''liheng:'''&nbsp;We can improve it step by step
 +
 +
|-
 +
| (4:35:39 PM)&nbsp;'''<nowiki>FrankL [</nowiki>''n=fl@nat/sun/x-9526a11c2d026787''] entered the room.'''
 +
 +
|-
 +
| (4:35:55 PM)&nbsp;peter13j:&nbsp;I guess the length was a result of my proposals at the previous meeting
 +
 +
|-
 +
| (4:36:06 PM)&nbsp;'''liheng:'''&nbsp;OKay we start with our agenda, 1.Communication with overall status.
 +
 +
|-
 +
| (4:36:12 PM)&nbsp;'''<nowiki>yugq [</nowiki>''n=Administ@218.249.75.106''] entered the room.'''
 +
 +
|-
 +
| (4:38:21 PM)&nbsp;yugq:&nbsp;Hi, all
 +
 +
|-
 +
| (4:38:31 PM)&nbsp;'''liheng:'''&nbsp;I am just completing test system for performance of OOo
 +
 +
|-
 +
| (4:38:53 PM)&nbsp;'''liheng:'''&nbsp;yugq:1.Communication with overall status.
 +
 +
|-
 +
| (4:39:01 PM)&nbsp;os_ooo:&nbsp;I'm almost done with the changes of SfxItemPropertyMap/SfxItemPropertySet. It required changes in almost all applications. Everything works well now but I have not had time to create data about the results in load/save time. They will be ready by the end of next week.
 +
 +
|-
 +
| (4:39:03 PM)&nbsp;os_ooo:&nbsp;But I wouldn't expect miracles ;-)
 +
 +
|-
 +
| (4:39:25 PM)&nbsp;'''yugq:'''&nbsp;LiHeng: OK. I'm working for merging UNO dlls and analyzing load and save these days.
 +
 +
|-
 +
| (4:39:32 PM)&nbsp;xiuzhi:&nbsp;CWS asynloadingimpress has been created, based on m42,
 +
 +
|-
 +
| (4:40:22 PM)&nbsp;'''liheng:'''&nbsp;os_ooo: We need useful works,but not miracles.
 +
 +
|-
 +
| (4:40:39 PM)&nbsp;erAck:&nbsp;some small 5% improvement when compiling spreadsheet formulas, see&nbsp;[http://wiki.services.openoffice.org/wiki/Calc/Performance/string_handling_in_formula_compiler http://wiki.services.openoffice.org/wiki/Calc/Performance/string_handling_in_formula_compiler]
 +
 +
|-
 +
| (4:40:49 PM)&nbsp;liangjun:&nbsp;Write the wiki on&nbsp;[http://wiki.services.openoffice.org/wiki/Configmgr_Refactoring/Design http://wiki.services.openoffice.org/wiki/Configmgr_Refactoring/Design]&nbsp;about configmgr and sent our new configmgr source on svn://svn@svn.services.openoffice.org/ooo/cws/configtune00
 +
 +
|-
 +
| (4:41:10 PM)&nbsp;odf-mib:&nbsp;I have created a tool that collects data from the RTL_LOGFILE in a spreadsheet, and allows to a) compare to logfiles, and b) entries within a log file.
 +
 +
|-
 +
| (4:41:33 PM)&nbsp;odf-mib:&nbsp;More details can be found in the Wiki
 +
 +
|-
 +
| (4:41:39 PM)&nbsp;'''Malte:'''&nbsp;Not too much updates from my side - just many discussions with other people, and Intel support wrt VTune issue with OOo 3
 +
 +
|-
 +
| (4:42:59 PM)&nbsp;cd_oo:&nbsp;I finished my first step analyzing the start up performance of OpenOffice.org under Windows. What I found out is that most time is lost waiting for file I/O. Library loading is the first to blame, next reading data files. Another problem is that we lose about 10% with reading internal file system file (for NTFS this is $MFT (master file table) and $Directory. Next I want to try out if start...
 +
 +
|-
 +
| (4:43:01 PM)&nbsp;cd_oo:&nbsp;...up performance improves when all libraries are located next to the executable (first test look promising). I also want to reorder object files within libraries to improve sequential access to the library pages.
 +
 +
|-
 +
| (4:44:07 PM)&nbsp;'''FrankL left the room (quit: Read error: 104 (Connection reset by peer)).'''
 +
 +
|-
 +
| (4:44:32 PM)&nbsp;'''<nowiki>FrankL [</nowiki>''n=fl@nat/sun/x-fa823f4f77055f99''] entered the room.'''
 +
 +
|-
 +
| (4:44:38 PM)&nbsp;tora-japan:&nbsp;I have been working on buffered file I/O around PDF export.
 +
 +
|-
 +
| (4:44:38 PM)&nbsp;'''liheng:'''&nbsp;odf-mib:We are just building a tools in Java to analysis our binary raw data, and we will update a CWS next week.
 +
 +
|-
 +
| (4:44:38 PM)&nbsp;tora-japan:&nbsp;In this time, no change would be made in SAL as Eike suggested.
 +
 +
|-
 +
| (4:44:38 PM)&nbsp;tora-japan:
 +
 +
|-
 +
| (4:45:47 PM)&nbsp;zhangyuwei:&nbsp;I have just put the modified code into on the latest version of the m42 about Asynchronous Loading.
 +
 +
|-
 +
| (4:45:47 PM)&nbsp;zhangyuwei:&nbsp;but, I found that loading file is so slowly in the latest version, and i'm checking the code.
 +
 +
|-
 +
| (4:46:13 PM)&nbsp;'''liheng:'''&nbsp;Can we discuss a all-purpose template in a shreadsheet?
 +
 +
|-
 +
| (4:46:14 PM)&nbsp;'''odf-mib:'''&nbsp;liheng: What is "binary raw data", and what is the output of the tool? We may follow-up on this on the list, actually.
 +
 +
|-
 +
| (4:46:52 PM)&nbsp;'''Malte:'''&nbsp;And what is "all-purpose template in a shreadsheet"?
 +
 +
|-
 +
| (4:47:51 PM)&nbsp;erAck:&nbsp;tora-japan: for the read/write statistics it would be good to know from which implementation the calls came, e.g. UCB, SvStream, "manual" file access, ...
 +
 +
|-
 +
| (4:48:16 PM)&nbsp;tora-japan:&nbsp;erAck: Yeap!
 +
 +
|-
 +
| (4:49:03 PM)&nbsp;'''liheng:'''&nbsp;odf-mib:To measure mainly hotspots like load/save and startup we define a performance diagram and to map it into code and get User Experience Index and Techincal performance Index, that log in a binary format.
 +
 +
|-
 +
| (4:49:21 PM)&nbsp;yugq:&nbsp;ALL: I want to explain about the CWS DEV300/configtune00. Because this CWS was planned a long time ago(about a half year), we chose milestone DEV300/m26 that time. And now it is not changed to newer milestone. We will complete the code gradually and solve the current problem. We can't compile and use the configtune00 correctly by normal and automatic way for current state. So if someone want to check and use it, please contact with liangjun(zenglian
 +
 +
|-
 +
| (4:50:18 PM)&nbsp;'''odf-mib:'''&nbsp;liheng: Sounds similar to RTL_LOGFILE.
 +
 +
|-
 +
| (4:50:50 PM)&nbsp;'''liheng:'''&nbsp;Malte:We do almost same work as odf-mib,but we build system on server,we want use a common template for offline report
 +
 +
|-
 +
| (4:51:16 PM)&nbsp;'''Malte:'''&nbsp;liheng: Got it, thanks :)
 +
 +
|-
 +
| (4:51:44 PM)&nbsp;'''liheng:'''&nbsp;odf-mib:Yes,but our goals are trace in long-term development,...
 +
 +
|-
 +
| (4:52:47 PM)&nbsp;'''odf-mib:'''&nbsp;liheng: I think we should discuss on the list where the differencies and similarities are, and where we can share something.
 +
 +
|-
 +
| (4:53:54 PM)&nbsp;'''liheng:'''&nbsp;odf-mib:Yes, some details in&nbsp;[http://wiki.services.openoffice.org/wiki/Performance_Benchmark_Tool_Set http://wiki.services.openoffice.org/wiki/Performance_Benchmark_Tool_Set]
 +
 +
|-
 +
| (4:54:54 PM)&nbsp;'''liheng:'''&nbsp;odf-mib:next week, YuGuoqiang will update CWS of it for me
 +
 +
|-
 +
| (4:55:40 PM)&nbsp;odf-mib:&nbsp;lihengs: Thanks. I will have a look at this,
 +
 +
|-
 +
| (4:56:26 PM)&nbsp;'''liheng:'''&nbsp;OK,can we turn next "To discuss?&nbsp; ideas of Saving."?
 +
 +
|-
 +
| (4:58:53 PM)&nbsp;'''liheng:'''&nbsp;We are discussing asynchronously save for user experience when they are saving a document.
 +
 +
|-
 +
| (5:00:43 PM)&nbsp;'''liheng:'''&nbsp;anything else for saving ?
 +
 +
|-
 +
| (5:01:41 PM)&nbsp;tora-japan:&nbsp;What does the term 'asynchronously' mean here?
 +
 +
|-
 +
| (5:01:41 PM)&nbsp;tora-japan:&nbsp;Saving a document without interrupting user's action?
 +
 +
|-
 +
| (5:01:41 PM)&nbsp;tora-japan:
 +
 +
|-
 +
| (5:01:51 PM)&nbsp;odf-mib:&nbsp;We should in any case consider to save on changed parts, where a part may be for instance a drawing page.
 +
 +
|-
 +
| (5:02:00 PM)&nbsp;odf-mib:&nbsp;on -> only
 +
 +
|-
 +
| (5:02:32 PM)&nbsp;erAck:&nbsp;Niklas showed that incremental save can speed things up by 30-50% if only small changes were done.
 +
 +
|-
 +
| (5:02:34 PM)&nbsp;'''Malte:'''&nbsp;And making saving faster at all, even w/o only saving parts, or saving in the background
 +
 +
|-
 +
| (5:03:03 PM)&nbsp;odf-mib:&nbsp;Sure:-)
 +
 +
|-
 +
| (5:03:29 PM)&nbsp;ericb2:&nbsp;I see there are test under Windows, and I'd like to know whether other OS are compared. e.g. is somebody working on Mac OS X ?
 +
 +
|-
 +
| (5:03:39 PM)&nbsp;ericb2:&nbsp;or Linux or whatever
 +
 +
|-
 +
| (5:03:50 PM)&nbsp;'''liheng:'''&nbsp;odf-mib:us too, consider samething, we can save changed parts to temprary file and UnlockUI, make a new thread to complete saving work
 +
 +
|-
 +
| (5:04:30 PM)&nbsp;JackieSun:&nbsp;As I discussed with others, in some conditions, the user would NOT use the high-resolution images, we can save the downscaled ones only
 +
 +
|-
 +
| (5:04:51 PM)&nbsp;cd_oo:&nbsp;ericb2: Stephan Bergmann is working on start up performance on Linux.
 +
 +
|-
 +
| (5:05:03 PM)&nbsp;ericb2:&nbsp;cd_oo: thank you :)
 +
 +
|-
 +
| (5:05:33 PM)&nbsp;'''liheng:'''&nbsp;tora-japan:asynchronously means do more work of save with another thread
 +
 +
|-
 +
| (5:05:36 PM)&nbsp;'''Malte:'''&nbsp;ericb: I thought Mac OSX would be your part? ;)
 +
 +
|-
 +
| (5:06:41 PM)&nbsp;ericb2:&nbsp;Malte: Mac OS X is not "my" part, but I'm interested to participate to the improvement and if I can be helpfull, I'll do ;-)
 +
 +
|-
 +
| (5:06:49 PM)&nbsp;'''liheng:'''&nbsp;tora-japan:At least,the task of creating zip file can move out
 +
 +
|-
 +
| (5:07:37 PM)&nbsp;'''tora-japan:'''&nbsp;liheng: Thanks! In that case, 'concurrently' would be better?
 +
 +
|-
 +
| (5:08:05 PM)&nbsp;'''liheng:'''&nbsp;tora-japan:thank you:)
 +
 +
|-
 +
| (5:08:54 PM)&nbsp;'''liheng:'''&nbsp;last topic:To distinguish user experience works from real optimizing works
 +
 +
|-
 +
| (5:09:28 PM)&nbsp;'''tora-japan:'''&nbsp;liheng: Just an example. User make an action, then OOo synchronously do the command. Without any action made, OOo asynchronously start some task.
 +
 +
|-
 +
| (5:09:51 PM)&nbsp;'''liheng:'''&nbsp;Yes:)
 +
 +
|-
 +
| (5:10:19 PM)&nbsp;'''liheng:'''&nbsp;As Malte's suggestions, some work can make OOo "seem good"...
 +
 +
|-
 +
| (5:10:47 PM)&nbsp;'''Malte:'''&nbsp;Saving in the background is already such a task
 +
 +
|-
 +
| (5:10:59 PM)&nbsp;'''Malte:'''&nbsp;native splash screen would also be good for this
 +
 +
|-
 +
| (5:11:35 PM)&nbsp;'''Malte:'''&nbsp;native spash would helping "seeing" OOo immediately, even when it then takes 20s to start
 +
 +
|-
 +
| (5:12:10 PM)&nbsp;'''Malte:'''&nbsp;Very helpful e.g. on double clicking an email attachment, where you always wonder "did I start OOo now?", because it takes ages to see anything
 +
 +
|-
 +
| (5:12:35 PM)&nbsp;'''liheng:'''&nbsp;so, we redefined the checkpoint in our performance diagram for distinguishing the user experience and technical value
 +
 +
|-
 +
| (5:14:40 PM)&nbsp;'''liheng:'''&nbsp;Malte:We really need more works for rapid response
 +
 +
|-
 +
| (5:15:31 PM)&nbsp;'''liheng:'''&nbsp;FrankL:Do you have some idea for it?
 +
 +
|-
 +
| (5:15:44 PM)&nbsp;'''liheng:'''&nbsp;FrankL: Do you have some idea for it?
 +
 +
|-
 +
| (5:16:02 PM)&nbsp;FrankL:&nbsp;I have to think about it.
 +
 +
|-
 +
| (5:17:32 PM)&nbsp;'''liheng:'''&nbsp;I think we can create a sub-project for improving response
 +
 +
|-
 +
| (5:18:39 PM)&nbsp;FrankL:&nbsp;Immediate feedback is very important. So the application feels alive and responsive. So having a sub project for this sounds good for me.
 +
 +
|-
 +
| (5:19:00 PM)&nbsp;tora-japan:&nbsp;In general, it is said that if a machine need to take more than approx. 0.7 seconds to respond to user's command, do something to show a sign "I have started it and been working on."
 +
 +
|-
 +
| (5:19:15 PM)&nbsp;'''Malte:'''&nbsp;I don't like to term "sub project".
 +
 +
|-
 +
| (5:19:33 PM)&nbsp;'''Malte:'''&nbsp;It is _one_ performance project, and we shouldn't split up into several sub projects, IMHO
 +
 +
|-
 +
| (5:20:08 PM)&nbsp;'''Malte:'''&nbsp;It's simply up to UX to also have this topic in mind
 +
 +
|-
 +
| (5:20:12 PM)&nbsp;'''Malte:'''&nbsp;So we also work on this
 +
 +
|-
 +
| (5:20:19 PM)&nbsp;FrankL:&nbsp;But we have two kinds of issues. Technical and those UX related ones.
 +
 +
|-
 +
| (5:20:35 PM)&nbsp;'''Malte:'''&nbsp;UX is also technical
 +
 +
|-
 +
| (5:21:01 PM)&nbsp;'''Malte:'''&nbsp;UX also doesnt work w/o any implementation
 +
 +
|-
 +
| (5:21:02 PM)&nbsp;FrankL:&nbsp;One part art one par science ;-)
 +
 +
|-
 +
| (5:21:19 PM)&nbsp;'''liheng:'''&nbsp;Malte:Yes but,it need different methods of measuring performance
 +
 +
|-
 +
| (5:21:47 PM)&nbsp;'''Malte:'''&nbsp;Does it?
 +
 +
|-
 +
| (5:21:56 PM)&nbsp;'''Malte:'''&nbsp;It simply adds one more data point
 +
 +
|-
 +
| (5:22:12 PM)&nbsp;'''Malte:'''&nbsp;Which is before the action really ends...
 +
 +
|-
 +
| (5:22:33 PM)&nbsp;'''liheng:'''&nbsp;Yes,we need change viewpoint from user feeling
 +
 +
|-
 +
| (5:23:33 PM)&nbsp;'''liheng:'''&nbsp;Malte:We can do something for it and discuss again :)
 +
 +
|-
 +
| (5:24:15 PM)&nbsp;'''liheng:'''&nbsp;That'all for me, it's my turn to make meeting minutes.
 +
 +
|-
 +
| (5:25:12 PM)&nbsp;'''liheng:'''&nbsp;Anything else?
 +
 +
|}
 +
 +
[[Category:Performance]]
 +
[[Category:Minutes]]

Latest revision as of 03:53, 3 April 2009

2009-03-27

Agenda of IRC

1.Update overall status

2.To Discuss how to measure performance of user experience.

Overall Status

Work Status Description Member(IRC nick)
benchmark-system Established on the server, and applying static IP and permission to publish benchmark-system on Website. LiHeng
Reorder code to reduce file I/O I finished an early prototype which can trace function calls during start up. It writes trace files that a second tool uses with the module map file to create a linker order file. For a first test I instrumented and traced some libraries and the results look promising. The page fault rate for the Writer library could be reduced by 40% (125 instead of 210) and that's also the time we win(866ms instead of 1378ms) on cold start up. Other libraries show less good results. More information can be found on the wiki: http://wiki.services.openoffice.org/wiki/Performance/Reorder_Symbols_For_Libraries oo_cd
CWS

asynloadingimpress

I have update my code in CWS about Asynchronous Loading today, named "asynloadingimpress" ,I fix the code base on m42, and I re-update my code today Zhangyuwei
CWS sb107 Moved my CWS sb107 to DEV300m44, where Hamburg now uses a Linux tool chain similar to the new one I had experimented with. Numbers with the Hamburg tool chain look almost as good as mine (will see if even newer tool chain has even better results). Biggest win time-wise appears to be using the GNU-style symbol hash tables, though, a feature that can now be enabled on those new tool chains. sb
Refactoring Calc area broadcaster Resumed work on refactoring Calc area broadcaster. erAck
Tool

Comparison of ODF documents

I have developed a tool that allows to compare ODF documents. Its based on JUnit and therefore runs in Java. I'm currently cleaning it up and will provide the source code next week.The purpose of this tool is to implement regression tests when we optimize load/save odf-mib
CWS

mhu17

module 'store' optimization

cws mhu17 (module 'store' optimization) finally integrated into dev300 m45; in parallel, evaluating buffered file I/O for inclusion into sal / osl file handling functions; also, setting up new cws for further module 'store' optimization (rdb filesize reduction). Matthias
Redesign AL(in sw/sd) according to the new OO3 code base. Symphony will be end of August 2009 and be OOo 3 based. ycheng1
CWS downscaledimageshow I have put a test-code in CWS named "downscaledimageshow " which can use the downscaled bitmap only to draw or "slide show" on the screen. In this code, the temp scaled threshold is 1000*1000 pixels which will be set by the user selection. Jackiesun

Details

IRC meeting time

To change time of IRC meeting to Fridays, 08:00am UTC

Action Items:

Liheng put up test-system code to SVN

benchmark-system/src/benchmark for native helper code

benchmark-system/src/tools for view & trace tools

Log of meeting

(4:32:47 PM) liheng: Agenda:
(4:32:47 PM) liheng: 1.Update overall status
(4:32:47 PM) liheng: 2.To Discuss how to measure performance of user experience.
(4:33:17 PM) liheng: I have established benchmark-system on the server, and applying static IP and permission to publish benchmark-system on internet.
(4:33:17 PM) liheng: I will finish a manual of usage for this first version in a week.
(4:33:19 PM) xiuzhi: Dieter_: moin
(4:35:30 PM) tora-japan [n=user@p1219-ipbf506hodogaya.kanagawa.ocn.ne.jp] entered the room.
(4:36:48 PM) Malte: liheng: Sound good :) Is the code in SVN?
(4:38:41 PM) liheng: Malte:also next week, my company need a test report before because code and system will be published on internet :)
(4:39:43 PM) cd_oo: I finished an early prototype which can trace function calls during start up. It writes trace files that a second tool uses with the module map file to create a linker order file. For a first test I instrumented and traced some libraries and the results look promising. The page fault rate for the Writer library could be reduced by 40% (125 instead of 210) and that's also the time we win...
(4:39:45 PM) cd_oo: ...(866ms instead of 1378ms) on cold start up. Other libraries show less good results. More information can be found on the wiki:http://wiki.services.openoffice.org/wiki/Performance/Reorder_Symbols_For_Libraries
(4:39:53 PM) Malte: liheng: I don't see a reason not to put siurces in SVN before going public
(4:40:58 PM) Malte: I would like somebody to setup a similar system here too, to get a better understanding
(4:41:29 PM) odf-mib: Yes, this does make sense. Also to avoid duplicate efforts.
(4:42:25 PM) liheng: Okay,I will send code next monday
(4:42:50 PM) Malte: Great :)
(4:43:05 PM) ycheng1: cd_oo: interesting. I also tried this method on oo1.1 code base and can get about 8% improvement on rebased dlls.
(4:43:38 PM) zhangyuwei: I have update my code in CWS about Asynchronous Loading today, named "asynloadingimpress"
(4:44:34 PM) cd_oo: ycheng1: This is not related to rebase (precalculate relocations for a specific load address). I reorder symbols to have better locality and therefore less page faults.
(4:44:36 PM) odf-mib: zhangyuwei: I've noticed that the tinderbox builds show errors for the CWS
(4:46:28 PM) ycheng1: cd_oo: yes, I see, the function reorder to reudce page faults. What I mean is if the dlls are not rebased, then OS will help to relocation them and read them into memory sequentially, which will eliminate the function reorder effect
(4:47:05 PM) ycheng1: cd_oo: I modified that sws tools to do this
(4:48:18 PM) tora-japan: My status: I have been studying memory allocation in UNIX, especially in Solaris, and one of the its objects - finding hard-to-reproduce-hard-to-find-its-suspicious-module bugs - is undergoing. And then hopefully, the next generation of OUString would be discussed in a few week, which might use more practical, purpose-specific memory allocation system.
(4:48:19 PM) cd_oo: ycheng1: Ok, we rebase all OpenOffice.org libraries which is done in the postprocess project. I couldn't see any relocations by the OS during start up.
(4:48:19 PM) sb: my status: Moved my CWS sb107 to DEV300m44, where Hamburg now uses a Linux tool chain similar to the new one I had experimented with. Numbers with the Hamburg tool chain look almost as good as mine (will see if even newer tool chain has even better results). Biggest win time-wise appears to be using the GNU-style symbol hash tables, though, a feature that can now be enabled on those new...
(4:48:22 PM) sb: ...tool chains.
(4:48:51 PM) liheng: Malte:I will put source in benchmark-system/src/benchmark for native helper code and benchmark-system/src/tools for external tools in Java
(4:48:54 PM) zhangyuwei: odf-mib: I fix the code base on m42, and I re-update my code today
(4:49:05 PM) ycheng1: cd_oo: we can discuss it more detail in the mail list.:)
(4:49:34 PM) erAck: my status: resumed work on refactoring Calc area broadcaster.
(4:50:13 PM) ycheng1: my status : redesign AL(in sw/sd) according to the new OO3 code base.
(4:50:15 PM) odf-mib: my status: I have developed a tool that allows to compare ODF documents. Its based on JUnit and therefore runs in Java. I'm currently cleaning it up and will provide the source code next week.
(4:50:44 PM) odf-mib: my status2: The purpose of this tool is to implement regression tests when we optimize load/save
(4:50:45 PM) ycheng1: And there will be several people in Symphony working on this, the initial target day should be before the end of August, 2009.
(4:51:37 PM) liheng: odf-mib:Why to compare ODF documents?
(4:51:41 PM) ycheng1: AL(asynchronous loading)
(4:52:08 PM) Matthias: status: cws mhu17 (module 'store' optimization) finally integrated into dev300 m45; in parallel, evaluating buffered file I/O for inclusion into sal / osl file handling functions; also, setting up new cws for further module 'store' optimization (rdb filesize reduction).
(4:52:19 PM) Jackiesun: my status: I have put a test-code in CWS named "downscaledimageshow " which can use the downscaled bitmap only to draw or "slide show" on the screen. In this code, the temp scaled threshold is 1000*1000 pixels which will be set by the user selection.
(4:52:27 PM) odf-mib: liheng: When we make optimization to the load and save code we have to make sure that what we save with the optimization equals what we have saved before.
(4:52:43 PM) liheng: ycheng1:redesign? You mean refactoring?
(4:53:36 PM) ycheng1: liheng: yes, there are too many change between oo1.1 and oo3.x
(4:53:38 PM) zhangyuwei: odf-mid: I test the code on windows, can build and run
(4:54:21 PM) Malte: ycheng1: This means Symphony end of August 2009 will be OOo 3 based?
(4:54:44 PM) ycheng1: malte:Yes
(4:54:50 PM) Malte: Cool :)
(4:54:55 PM) tora-japan: mhu: sounds nice! do you think it could be used for other module such as PDF export in vcl?
(4:55:13 PM) liheng: odf-mib:I think you mean that tool is for save changed parts?
(4:55:14 PM) zhangyuwei: ycheng1:ChengYuan, Thank you for your advice about AL. :)
(4:55:36 PM) Matthias: tora-japan: yes, but lets have a separate talk about your and my ideas; maybe via email ?
(4:55:47 PM) tora-japan: Sure!
(4:55:48 PM) ycheng1: malte : Sorry, not for normal release of Symphony, only beta
(4:55:57 PM) Malte: At least a start ;)
(4:56:02 PM) ycheng1: yes
(4:56:05 PM) ycheng1: :-D
(4:56:23 PM) Matthias: tora-japan: I'll contact you sometime within the next days.
(4:57:28 PM) odf-mib: liheng: The tools is just a comparison tool for ODF documents. It does not improve the performance in OOo. But it can help to ensure the quality of performance improvements.
(4:57:39 PM) tora-japan: mhu: thank you!
(4:58:05 PM) ycheng1: Before normal contibute back to oo3, we can put the AL code of oo1.1 on svn firstly and quickly
(4:58:30 PM) Malte: ycheng1: For what should that help?
(4:58:50 PM) Malte: And - how should it work?
(4:59:21 PM) liheng: odf-mib:I see, for measuring document in ODF
(4:59:23 PM) ycheng1: malte: for everyone to see the code and give some advice. We Symphony team still need much work to make it work in oo3
(4:59:46 PM) zhangyuwei: odf-mid: It can run, but there is a problem: It running slowing on m42.
(5:00:13 PM) Malte: ycheng1: But that code would be on OOo SD repository, not in performance module, so you can't put old stuff there.
(5:00:23 PM) liangjun [n=zenglj_@218.249.75.106] entered the room.
(5:00:34 PM) Malte: And dumping a copy of OOo 1.1 code in performance module doesn't sound like a good idea...
(5:01:14 PM) Malte: Then better describe your changes and ideas in the Wiki...
(5:01:26 PM) ycheng1: malte: you are right, then we can find other way to share the code. we can dicuss it by mail?
(5:01:42 PM) ycheng1: Yes
(5:01:43 PM) Malte: email == mailing list: yes
(5:01:46 PM) erAck: ycheng1: why not just make a tarball available?
(5:02:24 PM) erAck: nobody would want to merge code from 1.1 to 3.x anyway..
(5:02:24 PM) ycheng1: erAck: a tarball inclduing the changed source code ?
(5:02:32 PM) Malte: erAck: Also not a good solution.
(5:02:37 PM) Malte: Would need to be in SVN then.
(5:02:39 PM) erAck: Malte: why not?
(5:02:49 PM) Malte: We can't discuss code we download from some other location.
(5:02:56 PM) erAck: true.
(5:02:57 PM) Malte: Must be SVN, or mailing lists, or OOo Wiki
(5:02:59 PM) erAck: sigh..
(5:04:17 PM) ycheng1: yuwei : u'r welcome, the problem resolved?
(5:05:21 PM) zhangyuwei: ycheng1: yup. resolved ;)
(5:07:43 PM) liheng: It seems all status is here,we go next
(5:08:08 PM) liheng: 2.To Discuss how to measure performance of user experience.
(5:08:25 PM) liheng: Performance project will improve performance of OOo in 2 directions.
(5:08:25 PM) liheng: One is the technical improvement, like algorithm,refactoring, and so on,
(5:08:25 PM) liheng: the other is within scope of user experience.For technical improvement,
(5:08:25 PM) liheng: we can measure differences of our work easily, but in user experience
(5:08:25 PM) liheng: how to get the performance value of user's feeling is questionably.
(5:09:48 PM) Malte: If it is about async loading, it might help to have a notification when loading is completed
(5:09:55 PM) ycheng1: I suggest to compose some benchmark files firstly
(5:11:22 PM) ycheng1: e.g. big_plain_text.odt, big_complex_objects.odt, small_plain_text.odt, which will reflect the normal content and complexcity that user faced daily
(5:11:23 PM) liheng: Malte:Yes,but for saving it is difficult problem for us
(5:12:44 PM) Malte: Saving is the same - isn't it?
(5:12:59 PM) Malte: On mark when user can start working again, other when saving completed
(5:13:03 PM) ycheng1: then define some most-used operations such as load/save/close/startup/insert pic/...
(5:13:51 PM) Malte: first mark is for saving in background - not for partial saving
(5:14:22 PM) ycheng1: and assign different weight on each of operations, e.g. saving is more frequent than loading
(5:14:58 PM) liheng: Malte:Maybe yes, but how to remind user that they can do something again? ;)
(5:15:08 PM) ycheng1: finally can got one total benchmark score of each build
(5:15:33 PM) Malte: They don't haver to be reminded - they still expect that they can seamlessly continue working
(5:15:41 PM) liheng: ycheng1:We just build a benchmark system for that
(5:16:54 PM) ycheng1: sounds good, we may need to carefully select the benchmark files and operations to really reflect the user's feeling
(5:18:26 PM) tora-japan: Measuring some figures would be one of the ideas. Another idea might be to try to follow what ordinal users think. e.g. If a user wants to see solely some values on the first sheet in a Calc document file with a plenty amount of sheet, just do it. load the sheet and leave other sheet unloaded at the beginning, and continue to load the rest in background.
(5:19:15 PM) erAck: tora-japan: that's the long term goal I work on.
(5:19:42 PM) tora-japan: erArk: Ja (Yes)
(5:19:49 PM) liheng: Malte:QA of redoffice wait the progress bar complete, and they still can't do anything:(
(5:20:25 PM) Malte: liheng: yes - but that would change with storing in the background
(5:20:59 PM) erAck: btw, on Sunday Germany switches to daylight saving time, will we continue having the meeting at 8:30 UTC?
(5:21:07 PM) liheng: Malte:Yes,but some UI item is necessary:)
(5:21:12 PM) erAck: or should we switch to 8:00 UTC == 10:00 CEST == 16:00 CMT to accommodate the Chinese colleagues?
(5:22:17 PM) ***peter13j seconds erAck
(5:22:38 PM) liheng: and we must measure the point when UI item complete
(5:22:59 PM) liheng: arAck:Thank you,
(5:23:01 PM) liheng: +1
(5:23:03 PM) ycheng1: both time is ok for me:)
(5:23:12 PM) ***Matthias seconds erAck proposal also
(5:23:28 PM) cd_oo: +1
(5:23:31 PM) yugq: +1
(5:24:00 PM) liheng: okay, I will change the wiki page :)
(5:24:49 PM) ycheng1: malte: do you have plan to do 'storing in the background' and how? In my opinion, it's hard to do that because of the everywhere 'SolarMutex', unless in different process?
(5:25:15 PM) liheng: Who will take the minutes for this week?
(5:25:47 PM) Malte: ycheng1: We should consider removing solar mutex, making use of new threading framework
(5:25:57 PM) Malte: Then would also would need to quickyl clone documents in memory
(5:27:42 PM) lihen1: Malte:We can only clone changed parts
(5:28:04 PM) ycheng1: yugq: yes, a workaround is to keep using Application::reschedule to make UI smooth?
(5:28:05 PM) Malte: liheng: That would probably be more complicated, but an option...
(5:28:57 PM) yugq: ycheng: I think incremental save is a good idea, but hard to port to OO either. I'm trying some demo now.
(5:29:04 PM) lihen1: I try to analyze it
(5:29:43 PM) ycheng1: yugq: yes, the file format of ODF don't natively support the incremental saving
(5:29:51 PM) lihen1: Time up, I take the minutes for this meeting

2009-03-20

Agenda of IRC

1.Update overall status

2.Continue to discuss how to organize the source tree in performance module and move all tooling code into it.

Overall Status

Work Status Description Member(IRC nick)
Tools with RTL_LOG Have commited the tools that creates spreadsheet from RTL_LOG files and have updated its documentation ine the Wiki. odf-mib
3.1 blockers Was occupied with 3.1 blockers erAck
OOo Performance Test System Got the server machine and will deploy on it in next week , and post the performance diagram definitions for several hotspots on this server and wiki page. liheng
Symbolic relocations Further digging at -Bsymbolic-functions showed that using it is unsound, so looking at other ways (code modifications) to reduce number of symbolic relocations at startup. Interestingly, Hamburg RE switched to new GCC and binutils (somewhat older than what I use in my experiments) for DEV300m44, lets see whether my results are replicable with that toolchain too. sb
PDF export Try to do the I/O performance improvment around PDF export next week . tora-japan
Asynchronous load Have been fixing some bugs about Asynchronous Loading zhangyuwei
Performance test Implement simple application to test performance with I/O and muti-thread . liangjun
Trace code for Windows Due to show stopper I could only spend little time to work on the trace code for Windows. I finished the assembler part which is called by the MS compiler (_penter). Now I concentrate on the code which manages the calls and stores it for every module. Hope to have a version ready next week and try to get an order file for the Writer to optimize the linkage order. cd_oo
Incremental save Reserching on XML incremental save, trying to finish a demo now. I can finish it next week if it goes well. yugq
Module "store" improvements Cws mhu17 (module "store" improvements part 1) is being integrated, but maybe I need to deliver a late patch for building Windows.I am thinking about (a) store improvements part 2, and (b) buffered file I/O mhu

URIs mentioned

  • UEI   (liheng)

Log of meeting

(4:36:27 PM) liheng: Agenda:1.Update overall status
(4:36:28 PM) liheng: 2.Continue to discuss how to organize the source tree in performance module
(4:36:28 PM) liheng: and move all tooling code into it.
(4:37:48 PM) erAck: To start: nothing new from me, I was occupied with 3.1 blockers.
(4:39:11 PM) odf-mib:I have commited the tools that creates spreadsheet from RTL_LOG files and have updated its documentation ine the Wiki.
(4:39:39 PM) liheng: I got the server machine and will deploy benchmark-system service on it in next week.
(4:39:39 PM) liheng: And we will post the performance diagram definitions for several hotspots refered by User Experience Index (Wiki Page:http://wiki.services.openoffice.org/wiki/UEI) on this server and wiki page
(4:40:19 PM) Dieter_: liheng: that sounds really good!
(4:40:29 PM) Malte: Yes :)
(4:40:52 PM) Malte: wrt "how to organize the source tree in performance module "
(4:41:00 PM) Malte: What about the place we discussed?
(4:41:07 PM) sb: My status update: Further digging at -Bsymbolic-functions showed that using it is unsound, so looking at other ways (code modifications) to reduce number of symbolic relocations at startup. Interestingly, Hamburg RE switched to new GCC and binutils (somewhat older than what I use in my experiments) for DEV300m44, lets see whether my results are replicable with that toolchain too.
(4:41:35 PM) liheng: Yes, but the waiting time is too tough.
(4:42:06 PM) tora-japan: My status: Nothing new from me, either.
(4:42:06 PM) tora-japan: I have been working for other things like how to run soffice.bin under 'chroot'ed environment, etc.
(4:42:06 PM) tora-japan: I am trying to do the I/O performance improvment around PDF export next week.
(4:42:32 PM) zhangyuwei: status: I have been fixing some bugs about Asynchronous Loading.
(4:42:33 PM) liheng: Malte:about performance repository
(4:42:52 PM) liangjun: I'm implementing simple application to test with I/O and muti-thread performance.
(4:43:14 PM) liheng: eg.To move all performance tooling code into our repository
(4:44:09 PM) cd_oo: Due to show stopper I could only spend little time to work on the trace code for Windows. I finished the assembler part which is called by the MS compiler (_penter). Now I concentrate on the code which manages the calls and stores it for every module. Hope to have a version ready next week and try to get an order file for the Writer to optimize the linkage order.
(4:45:10 PM) yugq: My status: I'm reserching on XML incremental save, trying to finish a demo now. I can finish it next week if it goes well.
(4:46:16 PM) Malte: liheng: odf-mib already has his tool in the repository, which is independent from your tool.
(4:46:19 PM) Malte: What about your module "benchmark-system"?
(4:46:38 PM) Malte: benchmark-system/src, benchmark-system/doc, benchmark-system/...
(4:47:42 PM) zhangyuwei: odf-mid: hello, good afternoon, Have you checked my code about Asynchronous Loading on m42?
(4:49:34 PM) odf-mib: zhangyuwei: Sory, no, I didn't. I may have overlooked something, but where do I find the code?
(4:49:37 PM) liheng: These code will be posted in next week when server setup, maybe need a little changes.
(4:49:49 PM) sb: Malte: Re agenda item 2: Last week, we wondered why there is a private SVN repo in performance.openoffice.org. Seems you at least know something about it?
(4:51:20 PM) Malte: sb: No idea why it's a separate repossitory, but it's fine for me
(4:51:25 PM) liheng: Malte:RTL_LOG was in sal/rtl module but I think we do same work, should be in the same module
(4:51:41 PM) Malte: sb: It's also different in other ways:
(4:52:00 PM) Malte: Web site is not in CVS, like rest of OOo, but in SVC, sub folder www
(4:52:11 PM) Malte: SVC => SVN...
(4:52:51 PM) Malte: liheng: Not sure what you mean, can you explain?
(4:53:43 PM) odf-mib: To be clear: I did not change anything from RTL_LOG. I've only created a tool that analyzes the log files.
(4:54:14 PM) odf-mib: The RTL_LOG file creates itself is part of OOo. We can't combine thes etwo things.
(4:55:10 PM) sb: So we are all fine with using that additional repo instead of svn.services.openoffice.org/ooo/contrib/? (My guts say its odd that way, but I cannot think of any substantial arguments at the moment.)
(4:55:48 PM) erAck: sb: no, I'm not fine with that. I don't see any benefit from using Collab's repository.
(4:57:01 PM) erAck: au contraire, it might even complicate things because you need different access controls.
(4:57:29 PM) erAck: plus, OOo will move to a DSCM.
(4:57:59 PM) liheng: Malte:I mean we can move all performance tooling code into performance repository.
(4:58:35 PM) mhu: Hi all, sorry for joining late ...
(4:58:35 PM) zhangyuwei: odf-mid: "asynloadingimpress" in CWS. But, recently I fixed some bug, I'll update the code next week.
(4:58:36 PM) Malte: linheng: We already do it. With tools - but you can't move RTL_LOG there.
(4:59:25 PM) odf-mib: To be honest, what matters more to me is what we have in the repository, than where it is. In so far, it is okay for me to use the project's repository rather than the OOo repository.
(4:59:49 PM) erAck: odf-mib: it will matter in future where the repository is.
(5:01:11 PM) Malte: It will change anyway...
(5:02:03 PM) odf-mib: erAck: It may, nut we can move the code later, if we like. I don't expect much code there actually.
(5:02:07 PM) erAck: odf-mib: having it at Collab's SVN, you're alone when it comes to abandonig it. Having it at the regular OOo repository it will be nicely converted to the new DSCM by REs.
(5:03:24 PM) liheng: In project's repository, anybody can be easy to find and reuse, it is my points
(5:03:45 PM) Malte: liheng:yes
(5:03:59 PM) odf-mib: liheng: +1
(5:04:03 PM) Malte: erAck - that's an argument pro/contra Collab, but OOo is the wrong repository
(5:04:14 PM) Malte: OOo should be OOo, not related tools
(5:04:18 PM) liangjun: +1:)
(5:04:59 PM) erAck: Malte: as Stephan already pointed out: a 'contributing' branch would separate it from the OOo code.
(5:06:02 PM) Malte: We talk about "external" tools here, so I really don't understnad the issue, or I missed something
(5:06:28 PM) erAck: and as I said already last time: Collab's SVN version is way old, if we'll run into problems, getting support from Collab is, well, you know, somewhat hard.
(5:06:52 PM) Malte: That's a better argument ;)
(5:06:54 PM) odf-mib: erAck: Maybe I'm wrong, but you would still copy all the content of contrib if you clone a repository although you never need that than only building OOo. So, its a waste of time, bandwidth and size.
(5:08:27 PM) erAck: odf-mib: you don't touch svn.services.openoffice.org/ooo/contrib/ if you checkout or clone svn.services.openoffice.org/ooo/tags/
(5:09:27 PM) Malte: erAck: We also think about moving extensions to their own repository. Should we stop this discussion until the other is solved?
(5:11:09 PM) erAck: Malte: svn.services.openoffice.org/extensions/ and that's solved ... but maybe someone might think different.
(5:12:27 PM) erAck: Malte: note that for extensions a separated repository (not just a branch) may be necessary for differenct access control.
(5:12:51 PM) odf-mib: All: Does it really matter so much where the repository is. I think as long as those that actually contribute to the repository are fine with its location, then we should keep things as they are.
(5:16:21 PM) liheng: Okay,we do all new tooling code and extenal tools in performance repository.
(5:16:33 PM) erAck: odf-mib: I just see problems for the future using Collab's repo, so I want to prevent that.
(5:18:07 PM) erAck: but as I seem to be the only one, go ahead ...
(5:18:58 PM) erAck: you'll clean up later then ;-)
(5:20:48 PM) liheng: Any more questions?
(5:21:29 PM) liheng: Who can write the MM, this week?
(5:21:45 PM) liangjun: LiHeng: I will make up and publish the MM of this meeting.
(5:22:39 PM) mhu: LiHeng: anything important that I missed but should better know of ?
(5:22:41 PM) liheng: thanks
(5:22:56 PM) liheng: That all today
(5:23:32 PM) liangjun: :)
(5:23:49 PM) erAck: mhu: I don't think so, the minutes' log will have it ;)
(5:24:04 PM) liheng: Matthias:Maybe the status of work
(5:24:17 PM) mhu: thanks, Eike; I'll then read the minutes.
(5:24:49 PM) mhu: LiHeng: you mean status of my work ?
(5:24:59 PM) liheng: Yes,:)
(5:25:53 PM) mhu: cws mhu17 (module "store" improvements part 1) is being integrated, but maybe I need to deliver a late patch for building Windows.
(5:26:34 PM) liheng: Thank you, and the status of other works you can find in MM:)
(5:26:34 PM) mhu: otherwise, I am thinking about (a) store improvements part 2, and (b) buffered file I/O
(5:26:52 PM) mhu: ...and following all of your work :-)
(5:27:07 PM) mhu: okay, then have a nice weekend
(5:27:24 PM) liheng: Okay, bye

2009-03-13

Overall Status

Work Status Description Member(IRC nick)
OOo Performance Test System Just finished the first version of test system, and will create CWS and update it next week... liheng
Investigating Calc's area broadcasters Started investigating Calc's area broadcasters, see http://wiki.services.openoffice.org/wiki/Calc/Performance/Refactoring_Area_Broadcasters, but got interrupted by 3.1 blocker issues. erAck
Runtime loader instructions improvements on Linux Got substantial improvements of instructions burned in runtime loader on Linux through use of -Bsymbolic-functions/-Bsymbolic (issue 85679) together with latest GCC/binutils; now looking at whether those changes are indeed correct (esp. -Bsymbolic, which can cause different bindings be used for one data symbol across libraries). sb
Reorder code to reduce file I/O I want to pack the code which is needed during start up to sequential pages. This should significantly reduce file I/O and help start up performance. I want to create a little helper library which traces what symbols are used during startup. This file can be used with the help of another tool to find the mangled names in the map file. The mangled names must to be put into an order file which can be used by the Microsoft linker to reorder the code. cd_oo
Incremental save Trying to finish an incremental storage model for XML files. yugq
Speedup drawing I have submitted "downscaledimageshow " in CWS. Which can increase the drawing speed by using the downscaled bitmap of high-resolution images only to draw or "slide show" in the screen JackieSun
Asynchronous load Impress I'm fix the bugs of Asynchronous Loading zhangyuwei
Store refactoring

Buffered file I/O

Works on module 'store' refactorings for better startup performance; milestone 1 of these refactorings is in CWS mhu17, now nominated for integration. Also, I'm evaluating extensions to osl/file for buffered file I/O, similar to what Tora suggested. Maybe I can propose something next week. mhu
I/O issue I have no accomplishment on the task of performance improvements this week . tora-japan
Test load/save time with vtune Using a hash_map as basis of SfxItemPropertyMap/Set doesn't help for load/save performance. Alphabetical sorting of property names in xmloff in the past - which was required by the previous implementation - helped to prevent unnecessary string comparisons. I didn't yet compare the load/save times in Calc and Impress as it takes a lot of time to get data out of vtune. os_ooo
Wiki structure and project logo I am currently working on the wiki structure and on a project logo. I have added a frame on the top right of any performance related wiki page to give the project a visual identity and offer a project navigation to the user. The logo will be shown as soon as it becomes available. FrankL

URIs mentioned

Calc/Broadcasters (erAck created)

Ternary search trees (mhu mentioned)

Boost/spirit/symbols (erAck mentioned)

Svn/performance/trunk (liheng mentioned)

Log of meeting

(16:32:09)liheng: The agenda of IRC Mar. 13th
(16:32:09)liheng: 1.Update overall status
(16:32:09)liheng: 2.Discuss how to organize the source tree in performance module
(16:32:09)liheng: * Move all tooling code into performance module
(16:34:19)liheng: I just finished the first version of test system, and will create CWS and update it next week...
(16:34:37)liheng: Some detail document will post on WIKI page
(16:35:10)erAck: I started investigating Calc's area broadcasters, see http://wiki.services.openoffice.org/wiki/Calc/Performance/Refactoring_Area_Broadcasters, but got interrupted by 3.1 blocker issues.
(16:37:28)sb: My status: Got substantial improvements of instructions burned in runtime loader on Linux through use of -Bsymbolic-functions/-Bsymbolic (issue 85679) together with latest GCC/binutils; now looking at whether those changes are indeed correct (esp. -Bsymbolic, which can cause different bindings be used for one data symbol across libraries).
(16:38:08)cd_oo: I want to pack the code which is needed during start up to sequential pages. This should significantly reduce file I/O and help start up performance. I want to create a little helper library which traces what symbols are used during startup. This file can be used with the help of another tool to find the mangled names in the map file. The mangled names must to be put into an order file which...
(16:38:10)cd_oo: ...can be used by the Microsoft linker to reorder the code.
(16:39:10)yugq: I'm trying to finish an incremental storage model for XML files.
(16:39:48)JackieSun: I have submitted "downscaledimageshow " in CWS. Which can increase the drawing speed by using the downscaled bitmap of high-resolution images only to draw or "slide show" in the screen
(16:39:49)zhangyuwei: I'm fix the bugs of Asynchronous Loading
(16:41:54)***mhu works on module 'store' refactorings for better startup performance; milestone 1 of these refactorings is in CWS mhu17, now nominated for integration. Also, I'm evaluating extensions to osl/file for buffered file I/O, similar to what Tora suggested. Maybe I can propose something next week.
(16:43:12)liheng: Okay, I also arrange a report of comparison between several officesuite products,it will post in WIKI in two weeks
(16:44:06)tora-japan: My status: I have no accomplishment on the task of performance improvements this week since I have been working on some macro functions such as StrConv(), MidB(), LenB(), the Excel's legacy macro functions. The functions have been successfully and experimentally implemented.
(16:45:22)os_ooo: My status: Using a hash_map as basis of SfxItemPropertyMap/Set doesn't help for load/save performance. Alphabetical sorting of property names in xmloff in the past - which was required by the previous implementation - helped to prevent unnecessary string comparisons. I didn't yet compare the load/save times in Calc and Impress as it takes a lot of time to get data out of vtune.
(16:46:53)erAck: os_ooo: maybe a perfect hashmap would help?
(16:47:21)liheng: os_ooo:We can help you to get the data in CH2000, you can tell how/where to do them.
(16:50:14)liheng: os_ooo:Do you need someone to help you get some compared data?
(16:50:32)liheng: os_ooo: Do you need someone to help you get some compared data?
(16:53:07)liheng: Okay, we go to next topic, How to organize the source tree in performance module.
(16:53:12)FrankL: My status: I am currently working on the wiki structure and on a project logo. I have added a frame on the top right of any performance related wiki page to give the project a visual identity and offer a project navigation to the user. The logo will be shown as soon as it becomes available.
(16:53:45)FrankL: Do plan to have something like a monthly status presentation? We make this in project Renaissance and this allows us to promote the outcome of the project. This is also something we can show the press to get some more visibility for the project.
(16:54:14)erAck: FrankL: present where to whom?
(16:54:49)FrankL: Virtually
(16:55:08)FrankL: Today it not that easy to get an overview about the current status of the project.
(16:55:42)mhu: os_ooo: your comment about "alphabetical sorting" reminded me of "ternary search trees" by Robert Sedgewick; search google/wikipedia for "ternary tree" or see http://www.cs.princeton.edu/~rs/strings/
(16:56:22)os_ooo: The code changes are in cws os128. So everybody who wants to create data can do that. At the moment I have only a few documents for Calc, Impress and Draw that I can use.
(16:58:27)liheng: os_ooo:Can you send the documents to me, email: liheng@redoffice.com
(17:00:05)liheng: FrankL:Do you want to do something like a status table of CWSes and works?
(17:00:16)liheng: : Do you want to do something like a status table of CWSes and works?
(17:00:18)os_ooo: liheng: You will get them in a minute.
(17:00:41)liheng: os_ooo: Thank you!
(17:01:00)FrankL: liheng: I think more like a status report for non technical people.
(17:02:06)liheng: FrankL: I see, it very important for UX test case definition.
(17:03:35)FrankL: liheng: I think it is important for all of us to have an overview about the improvements. Then we would have something were we can point interested people to.
(17:04:20)liheng: FrankL: Yes, and we can show some value about them:)
(17:04:57)liheng: 2nd topic is "How to organize the source tree in performance module".
(17:05:52)liheng: I think at first we can move all tooling code about performance to performance module, like RTL_LOG
(17:07:42)mhu: liheng: with 'performance module' you mean a (top level) directory 'performance' in OOo SVN repository, right ?
(17:08:04)liheng: Yes,
(17:08:18)mhu: okay
(17:09:20)mhu: ... I currently dont know of a better place; can we ask someone else, maybe Martin H. or Heiner R. ? should we ask at all ?
(17:10:18)liheng: Matthias: We have a repository of performance
(17:11:09)mhu: hmm, an own repository or with OOo svn repository ?
(17:11:14)liheng: it's own repository, which is not part of the other OOo repository.
(17:11:40)mhu: ahh, then all is fine, and I simply missed something ...
(17:12:17)liangjun: +1
(17:12:49)***mhu asks himself what the repository url might be, or where it can be found ...
(17:14:17)liheng: http://performance.openoffice.org/svn/performance/trunk
(17:15:00)erAck: os_ooo: boost's spirit library's class symbols uses a ternary search tree, see http://www.boost.org/doc/libs/1_38_0/libs/spirit/classic/doc/symbols.html
(17:17:09)erAck: liheng: that's not the OOo SVN repository, plus it needs an account and password?!?
(17:18:59)liheng: erAck:I use my account in OOo
(17:19:49)sb: What is the reason to have such an additional repository?
(17:20:07)liheng: erAck:You can check page http://performance.openoffice.org/source/browse/performance/
(17:20:14)***erAck tried OOo account and works.
(17:21:04)erAck: liheng: but I think we should use svn.services.oo.o instead.
(17:21:43)liheng: sb: All code of tools are only for benchmark or test OOo.
(17:22:21)erAck: it doesn't have to be the .../ooo repository there, as the code is not needed to build OOo, but .../performance or some such may do.
(17:22:53)sb: liheng: but why not use something like svn.services.openoffice.org/ooo/contrib/performance then?
(17:23:49)erAck: sb: I think it does not need to be in the main repository, no need to check it out just for building OOo.
(17:24:12)***mhu also tried OOo account and works, too.
(17:25:30)liheng: sb: I will confirm them with Dieter :)
(17:25:39)yugq: I think we can use that repository to store other files except the code. Such as some test report or related files.
(17:26:10)erAck: whoa, "Powered by Subversion version 1.4.3" ... a version we wouldn't even touch with a pair of pliers ;-)
(17:26:14)sb: erAck: that's why I wrote "/contrib/"
(17:26:15)yugq: I can see mt have performance-startup-2005 odt on it now.
(17:26:55)mhu: maybe Malte can tell some details when he is back from vacation next week
(17:27:00)erAck: sb: ah, ok, same repository but different branch; yes, might be best.
(17:27:39)liheng: Okay,that all :)
(17:27:39)yugq: mhu: yes! It seems Malte know this repository well:)
(17:27:54)mhu: yugq: :-)
(17:28:08)yugq: LiHeng: I will make up and publish the MM of this meeting.
(17:28:26)mhu: ...and yes, maybe a contrib branch maybe the method of choice

2009-03-06

Brief meeting summary

Overall status

Work Status Description Member

(IRC Nick)

OOo Performance Test System A set of tools in Java for analysis binary raw data, and will create and update the CWS next week. liheng
Changing SfxItemPropertyMap SfxItemPropertySet It required changes in almost all applications. Everything works well now but I have not had time to create data about the results in load/save time. They will be ready by the end of next week. so_ooo
Merging UNO dlls yugq
Analyzing Load/Save yugq
Asynloading Impress Created CWS asynloadingimpress, based on m42

Put the modified code into on the latest version of the m42,but there some problems neet to check.

xiuzhi, zhangyuwei
Improvement of compiling spreadsheet formulas erAck
configmgr Created and Updated to CWS: svn://svn@svn.services.openoffice.org/ooo/cws/configtune00. liangjun
Tool for Collecting RTL_LOG data into a spreadsheet ooo_mib
Analyzing the start up performance That most time is lost waiting for file I/O. Library loading is the first to blame, next reading data files.

Another problem is that we lose about 10% with reading internal file system file (for NTFS this is $MFT (master file table) and $Directory.

oo_cd
I/O around PDF export Working on buffered file I/O around PDF export. tora-japan

Details

Test System

  • The new test system seems almost like the RTL_LOGFILE, but it will create a web system to trace hotspots defined in performance diagram for long-term development. Maybe RTL_LOGFILE and text system can use a all-purpose offline report template (a set of spreadsheet)

Save

  • Saving changed parts is a well known good idea.

Test on other OS

  • ericb2 Can be helpful

Improvement for UX(User Experience)

  • Saving in the background
  • Native splash screen would also be good
  • Do something for it and discuss again

Action Item

  • liheng to write the MM.

URIs mentioned

Log of meeting

(4:33:32 PM) liheng: Agenda:
(4:33:33 PM) liheng: 1.Communication with overall status.
(4:33:33 PM) liheng: 2.To discuss ideas of Saving.
(4:33:33 PM) liheng: 3.To distinguish user experience works from real optimizing works.
(4:33:43 PM) peter13j: liheng: was much longer than I expect the flowing ones to be
(4:35:13 PM) liheng: We can improve it step by step
(4:35:39 PM) FrankL [n=fl@nat/sun/x-9526a11c2d026787] entered the room.
(4:35:55 PM) peter13j: I guess the length was a result of my proposals at the previous meeting
(4:36:06 PM) liheng: OKay we start with our agenda, 1.Communication with overall status.
(4:36:12 PM) yugq [n=Administ@218.249.75.106] entered the room.
(4:38:21 PM) yugq: Hi, all
(4:38:31 PM) liheng: I am just completing test system for performance of OOo
(4:38:53 PM) liheng: yugq:1.Communication with overall status.
(4:39:01 PM) os_ooo: I'm almost done with the changes of SfxItemPropertyMap/SfxItemPropertySet. It required changes in almost all applications. Everything works well now but I have not had time to create data about the results in load/save time. They will be ready by the end of next week.
(4:39:03 PM) os_ooo: But I wouldn't expect miracles ;-)
(4:39:25 PM) yugq: LiHeng: OK. I'm working for merging UNO dlls and analyzing load and save these days.
(4:39:32 PM) xiuzhi: CWS asynloadingimpress has been created, based on m42,
(4:40:22 PM) liheng: os_ooo: We need useful works,but not miracles.
(4:40:39 PM) erAck: some small 5% improvement when compiling spreadsheet formulas, see http://wiki.services.openoffice.org/wiki/Calc/Performance/string_handling_in_formula_compiler
(4:40:49 PM) liangjun: Write the wiki on http://wiki.services.openoffice.org/wiki/Configmgr_Refactoring/Design about configmgr and sent our new configmgr source on svn://svn@svn.services.openoffice.org/ooo/cws/configtune00
(4:41:10 PM) odf-mib: I have created a tool that collects data from the RTL_LOGFILE in a spreadsheet, and allows to a) compare to logfiles, and b) entries within a log file.
(4:41:33 PM) odf-mib: More details can be found in the Wiki
(4:41:39 PM) Malte: Not too much updates from my side - just many discussions with other people, and Intel support wrt VTune issue with OOo 3
(4:42:59 PM) cd_oo: I finished my first step analyzing the start up performance of OpenOffice.org under Windows. What I found out is that most time is lost waiting for file I/O. Library loading is the first to blame, next reading data files. Another problem is that we lose about 10% with reading internal file system file (for NTFS this is $MFT (master file table) and $Directory. Next I want to try out if start...
(4:43:01 PM) cd_oo: ...up performance improves when all libraries are located next to the executable (first test look promising). I also want to reorder object files within libraries to improve sequential access to the library pages.
(4:44:07 PM) FrankL left the room (quit: Read error: 104 (Connection reset by peer)).
(4:44:32 PM) FrankL [n=fl@nat/sun/x-fa823f4f77055f99] entered the room.
(4:44:38 PM) tora-japan: I have been working on buffered file I/O around PDF export.
(4:44:38 PM) liheng: odf-mib:We are just building a tools in Java to analysis our binary raw data, and we will update a CWS next week.
(4:44:38 PM) tora-japan: In this time, no change would be made in SAL as Eike suggested.
(4:44:38 PM) tora-japan:
(4:45:47 PM) zhangyuwei: I have just put the modified code into on the latest version of the m42 about Asynchronous Loading.
(4:45:47 PM) zhangyuwei: but, I found that loading file is so slowly in the latest version, and i'm checking the code.
(4:46:13 PM) liheng: Can we discuss a all-purpose template in a shreadsheet?
(4:46:14 PM) odf-mib: liheng: What is "binary raw data", and what is the output of the tool? We may follow-up on this on the list, actually.
(4:46:52 PM) Malte: And what is "all-purpose template in a shreadsheet"?
(4:47:51 PM) erAck: tora-japan: for the read/write statistics it would be good to know from which implementation the calls came, e.g. UCB, SvStream, "manual" file access, ...
(4:48:16 PM) tora-japan: erAck: Yeap!
(4:49:03 PM) liheng: odf-mib:To measure mainly hotspots like load/save and startup we define a performance diagram and to map it into code and get User Experience Index and Techincal performance Index, that log in a binary format.
(4:49:21 PM) yugq: ALL: I want to explain about the CWS DEV300/configtune00. Because this CWS was planned a long time ago(about a half year), we chose milestone DEV300/m26 that time. And now it is not changed to newer milestone. We will complete the code gradually and solve the current problem. We can't compile and use the configtune00 correctly by normal and automatic way for current state. So if someone want to check and use it, please contact with liangjun(zenglian
(4:50:18 PM) odf-mib: liheng: Sounds similar to RTL_LOGFILE.
(4:50:50 PM) liheng: Malte:We do almost same work as odf-mib,but we build system on server,we want use a common template for offline report
(4:51:16 PM) Malte: liheng: Got it, thanks :)
(4:51:44 PM) liheng: odf-mib:Yes,but our goals are trace in long-term development,...
(4:52:47 PM) odf-mib: liheng: I think we should discuss on the list where the differencies and similarities are, and where we can share something.
(4:53:54 PM) liheng: odf-mib:Yes, some details in http://wiki.services.openoffice.org/wiki/Performance_Benchmark_Tool_Set
(4:54:54 PM) liheng: odf-mib:next week, YuGuoqiang will update CWS of it for me
(4:55:40 PM) odf-mib: lihengs: Thanks. I will have a look at this,
(4:56:26 PM) liheng: OK,can we turn next "To discuss?  ideas of Saving."?
(4:58:53 PM) liheng: We are discussing asynchronously save for user experience when they are saving a document.
(5:00:43 PM) liheng: anything else for saving ?
(5:01:41 PM) tora-japan: What does the term 'asynchronously' mean here?
(5:01:41 PM) tora-japan: Saving a document without interrupting user's action?
(5:01:41 PM) tora-japan:
(5:01:51 PM) odf-mib: We should in any case consider to save on changed parts, where a part may be for instance a drawing page.
(5:02:00 PM) odf-mib: on -> only
(5:02:32 PM) erAck: Niklas showed that incremental save can speed things up by 30-50% if only small changes were done.
(5:02:34 PM) Malte: And making saving faster at all, even w/o only saving parts, or saving in the background
(5:03:03 PM) odf-mib: Sure:-)
(5:03:29 PM) ericb2: I see there are test under Windows, and I'd like to know whether other OS are compared. e.g. is somebody working on Mac OS X ?
(5:03:39 PM) ericb2: or Linux or whatever
(5:03:50 PM) liheng: odf-mib:us too, consider samething, we can save changed parts to temprary file and UnlockUI, make a new thread to complete saving work
(5:04:30 PM) JackieSun: As I discussed with others, in some conditions, the user would NOT use the high-resolution images, we can save the downscaled ones only
(5:04:51 PM) cd_oo: ericb2: Stephan Bergmann is working on start up performance on Linux.
(5:05:03 PM) ericb2: cd_oo: thank you :)
(5:05:33 PM) liheng: tora-japan:asynchronously means do more work of save with another thread
(5:05:36 PM) Malte: ericb: I thought Mac OSX would be your part? ;)
(5:06:41 PM) ericb2: Malte: Mac OS X is not "my" part, but I'm interested to participate to the improvement and if I can be helpfull, I'll do ;-)
(5:06:49 PM) liheng: tora-japan:At least,the task of creating zip file can move out
(5:07:37 PM) tora-japan: liheng: Thanks! In that case, 'concurrently' would be better?
(5:08:05 PM) liheng: tora-japan:thank you:)
(5:08:54 PM) liheng: last topic:To distinguish user experience works from real optimizing works
(5:09:28 PM) tora-japan: liheng: Just an example. User make an action, then OOo synchronously do the command. Without any action made, OOo asynchronously start some task.
(5:09:51 PM) liheng: Yes:)
(5:10:19 PM) liheng: As Malte's suggestions, some work can make OOo "seem good"...
(5:10:47 PM) Malte: Saving in the background is already such a task
(5:10:59 PM) Malte: native splash screen would also be good for this
(5:11:35 PM) Malte: native spash would helping "seeing" OOo immediately, even when it then takes 20s to start
(5:12:10 PM) Malte: Very helpful e.g. on double clicking an email attachment, where you always wonder "did I start OOo now?", because it takes ages to see anything
(5:12:35 PM) liheng: so, we redefined the checkpoint in our performance diagram for distinguishing the user experience and technical value
(5:14:40 PM) liheng: Malte:We really need more works for rapid response
(5:15:31 PM) liheng: FrankL:Do you have some idea for it?
(5:15:44 PM) liheng: FrankL: Do you have some idea for it?
(5:16:02 PM) FrankL: I have to think about it.
(5:17:32 PM) liheng: I think we can create a sub-project for improving response
(5:18:39 PM) FrankL: Immediate feedback is very important. So the application feels alive and responsive. So having a sub project for this sounds good for me.
(5:19:00 PM) tora-japan: In general, it is said that if a machine need to take more than approx. 0.7 seconds to respond to user's command, do something to show a sign "I have started it and been working on."
(5:19:15 PM) Malte: I don't like to term "sub project".
(5:19:33 PM) Malte: It is _one_ performance project, and we shouldn't split up into several sub projects, IMHO
(5:20:08 PM) Malte: It's simply up to UX to also have this topic in mind
(5:20:12 PM) Malte: So we also work on this
(5:20:19 PM) FrankL: But we have two kinds of issues. Technical and those UX related ones.
(5:20:35 PM) Malte: UX is also technical
(5:21:01 PM) Malte: UX also doesnt work w/o any implementation
(5:21:02 PM) FrankL: One part art one par science ;-)
(5:21:19 PM) liheng: Malte:Yes but,it need different methods of measuring performance
(5:21:47 PM) Malte: Does it?
(5:21:56 PM) Malte: It simply adds one more data point
(5:22:12 PM) Malte: Which is before the action really ends...
(5:22:33 PM) liheng: Yes,we need change viewpoint from user feeling
(5:23:33 PM) liheng: Malte:We can do something for it and discuss again :)
(5:24:15 PM) liheng: That'all for me, it's my turn to make meeting minutes.
(5:25:12 PM) liheng: Anything else?
Personal tools