|About this template|
IRC Meeting of Sun Microsystems (StarOffice) with RedFlag2000
Time: 16:13– 18:05
(16:13:33) LiHeng: good afternoon
(16:13:36) xiuzh1: hello,afternoon
(16:14:24) LiHeng: we prepare a agenda
(16:14:55) LiHeng: Sun team introduce what they did for performance before.What tools we needHow to start profile and how to share the profile results
(16:14:56) xiuzh1: prepare or prepared?
(16:15:27) LiHeng: you must select some item:)
(16:15:44) LiHeng: Sun team introduce what they did for performance before
(16:15:45) LiHeng: What tools we need
(16:15:53) LiHeng: How to start profile and how to share the profile results
(16:16:16) LiHeng: How to we analysis the problem from the enduser
(16:16:24) LiHeng: that's all
(16:17:16) xiuzh1: good, It would be better if you email this agenda to the guys from sun now,they can prepare something for it
(16:17:49) LiHeng: please help us to select items
(16:18:03) xiuzh1: ok,
(16:20:33) LiHeng: (+o xiuzh1)
(16:20:36) LiHeng: ?
(16:20:39) xiuzh1: have done
(16:20:59) LiHeng: how to change your mode?
(16:21:24) xiuzh1: input:"/op xiuzh1"
(16:21:33) kuangliang: ??
(16:21:46) xiuzh1: LiHeng:thanks
(16:21:58) LiHeng: xiuzh1:you are welcome
(16:22:01) LiHeng: :)
(16:24:17) LiHeng: xiuzhi : we will recommend the 4 items to the meeting agenda today , right?
(16:25:12) xiuzh1: LiHeng: I have sent your agenda to them,
(16:25:38) LiHeng: xiuzh1:thank you !
(16:26:01) xiuzh1: LiHeng:If they have more topics, they will have a proposal
(16:27:40) YuGuoqiang: Malte: Good morning!
(16:27:51) xiuzh1: LiHeng: I read the "please help us to select items" as "please help us to send items",so I sent them, :-P
(16:28:07) Malte_: Hi! :)
(16:28:30) LiHeng: Hi Malte !
(16:28:51) liangjun: Hi Malte ! Good morning !
(16:29:16) xiuzh1: Malte_:morning
(16:29:40) kuangliang: Malte morning!
(16:29:43) xiuzh1: Malte_: where is Matthias H.?
(16:30:05) Malte_: Don't know, let's wait...
(16:31:42) xiuzh1: Malte_: and mba?
(16:31:49) Malte_: I try to call them...
(16:32:09) LiHeng: Malte_:thank you!
(16:33:10) Malte_: MBA will be here soon, no idea about MHU...
(16:34:02) LiHeng: mba:morning!
(16:34:09) kuangliang: Hi mba
(16:34:17) LiHeng: mhu:morning!
(16:34:17) kuangliang: Hi Matthias Huetsch
(16:34:18) mba: Good afternoon. :-)
(16:34:28) mhu: Hi all, sorry for being late.
(16:34:35) Malte_: OK, I think we simply start without MHU then...
(16:34:38) YuGuoqiang: mba, mhu: Good morning!
(16:34:39) xiuzh1: LiHeng: your agenda, please
(16:34:59) LiHeng: xiuzh1:ok
(16:35:09) mhu: Malte_: but I'm already here :-)
(16:35:26) Malte_: Uuups ;)
(16:35:55) LiHeng: mhu:we prepared a agenda
(16:36:14) LiHeng: Agenda from our side:
(16:36:21) mhu: LiHeng: agenda is good, would you like to start?
(16:36:21) LiHeng: 1.Sun team introduce what they did for performance before
(16:36:30) LiHeng: 2.What tools we need
(16:36:38) LiHeng: 3.How to start profile and how to share the profile results
(16:36:43) LiHeng: 4.How to we analysis the problem from the enduser
(16:37:10) LiHeng: mhu:thanks, let's go! :)
(16:37:32) xiuzh1: mhu: Do you have other topics need to discuss?
(16:38:13) mhu: I think, the topics are fine. I would probably change the order, though.
(16:39:11) Malte_: OK, I tell about the past...
(16:39:13) mhu: what I mean, is that I would start with where the problem is (ask end user), then start profiling that problem.
(16:40:08) Malte_: When we started to work on OOo2, we didn't care for performance, and suddenly realized that start-up and load/save was really slow compared to OOo1.1
(16:40:31) Malte_: So we analyzed startup with help of profilers and our RTL_LOG feature
(16:40:55) Malte_: Both gave us some hints about expensive operations in startup and load/save
(16:41:19) xiuzh1: Malte_:good topic,
(16:41:24) Malte_: Some could be eliminated (start-up) by dothing stuff on demand only
(16:41:49) Malte_: Which means: Don't do/init things in startup when you don't need them immediately!
(16:42:05) Malte_: So some things are done on demand, or at least "lazy" now.
(16:42:28) Malte_: With lazy meaning, using some timer and do stuff when startup is done.
(16:42:48) Malte_: We also figured out many expensive stuff in out XML configuration, and fixed that
(16:43:06) Malte_: Load/Save is/was more difficult...
(16:43:06) LiHeng: Malte_: good idea
(16:43:28) Malte_: Our XML processing is not done in an optimal way becuase of how we use the existing office API.
(16:43:48) Malte_: That API is good for programming OOo, but for load/save we can imagine better API
(16:44:12) Malte_: We already have one in mind, but adapting this is a LOT of work....
(16:44:43) Malte_: But we where able to make improvements for load/save on other places, in the application cores
(16:44:50) mhu: Thanks Malte, but the introduction looks incomplete to me. I have been working on (cold) startup with Michael Meeks for OOo2.0, but others made it slower than we could make it faster :-(
(16:44:52) LiHeng: Malte_:XML API is good ,but we have to change some implementation
(16:45:14) Malte_: Right, that's the export optimizations :)
(16:45:22) Malte_: I meant MHU...
(16:45:32) Malte_: LiHeng: Sure.
(16:45:59) Malte_: But sometimes you can not simply change implementation, in this case you probably have to use a different API same time...
(16:46:14) Malte_: But before discussing this, let's clarify with what you want to start!
(16:46:25) Malte_: I doubt you want to start both areas in parallel...
(16:47:14) Malte_: IMHO you have to choose between startup or load/save now, what to do FIRST.
(16:48:01) mhu: I still have the idea to start with a concrete end-user problem, analyze that, and possibly fix it.
(16:48:34) Malte_: Sure - but do we really have other end user problems? LiHeng?
(16:49:13) LiHeng: CH2000 have some report about performance from end-user
(16:49:16) xiuzh1: OK,
(16:50:04) mhu: LiHeng: can we share your report with Malte_ and mba?
(16:51:02) LiHeng: mhu:Yes, i will send a email to them\
(16:51:51) LiHeng: mhu:maybe we can return to agenda :)
(16:52:07) mhu: LiHeng: thanks. can we also make a systematic analysis of that report? I mean, look what the common problems are?
(16:52:34) mhu: LiHeng: okay, let's return to agenda.
(16:53:26) LiHeng: mhu: change the order , first How to we analysis the problem from the enduser ,right?
(16:53:58) xiuzh1: LiHeng: You can paste them on http://pastebin.ca
(16:54:01) mhu: LiHeng: Maybe I can continue the things that Sun did, first?
(16:54:31) LiHeng: mhu:ok!
(16:54:45) mhu: LiHeng: thanks, so...
(16:55:46) mhu: What I did (with Michael Meeks of Novell) was to analyze the difference between cold and warm startup...
(16:56:49) mhu: cold startup means, for example first start after boot of machine, when all libraries need be read from disk (not in cache)...
(16:57:13) LiHeng: I see
(16:57:33) mhu: for cold startup mainly the number and size of shared libraries matters...
(16:58:27) mhu: to reduce size of shared libraries, we restricted number of exported function symbols and removed unused code (not much so far)...
(16:59:36) mhu: also, for unix, we introduced a 'pagein' program into the startup that 'pages in' the libraries (sequential disk read, instead of demand paging)...
(17:00:42) mhu: all in all, for cold start, I/O wait time is ~80% of the time, that is 5 times slower than warm start...
(17:01:42) mhu: also, number and size of libraries loaded: as Malte said, we tried to avoid to load everything at startup...
(17:02:13) xiuzh1: mhu: that also what we want to do
(17:02:37) LiHeng: mhu:the number 80% is also got by YuGuoqiang,too
(17:02:40) mhu: and, what needs to be loaded shall be small, for example we split off an 'cui.dll' (from svx) and 'swui.dll' from sw, and so on. That's is for now.
(17:03:30) kuangliang: MHU:Can we delete it?
(17:03:40) mhu: Can we delete what?
(17:03:41) YuGuoqiang: :)
(17:04:00) kuangliang: Split's dll?
(17:04:05) LiHeng: kuangliang: what do you want to delete?
(17:04:21) kuangliang: for example 'cui.dll'
(17:04:49) mhu: we can't delete it, we only avoid loading it right at startup.
(17:05:15) liangjun: MHU:can we load it when it is used?
(17:05:25) mhu: cui.dll contains Tools->Options dialog for example. Not needed during start, but still.
(17:05:42) mhu: liangjun: yes, that is the idea: load we needed.
(17:05:50) YuGuoqiang: liangjun:What you said is lazy loading.
(17:05:50) kuangliang: yes
(17:05:58) mhu: yes
(17:06:05) liangjun: yes
(17:06:54) liangjun: I think some soft used plugin? can we use it ?
(17:07:44) kuangliang: I think when OO startup some configuration files are accessed several times ,Can we control it?
(17:07:47) mhu: plugin? you mean for not yet used functionality? yes, but you first need to separate that functionality
(17:08:03) LiHeng: mhu:the important thing is removed unused code
(17:08:26) mhu: LiHeng: yes, that is a good idea.
(17:08:43) LiHeng: it's major cause in performance
(17:09:06) LiHeng: we can do it module by module
(17:09:07) mhu: We once started a small project to identify unused code. I don't know it's status.
(17:09:33) YuGuoqiang: I think lazy loading and reduce the binaries' size are both good ideas, and I want to know it's how good for optimization result.
(17:10:01) mhu: LiHeng: but you can ask Stefan Zimmermann for this code analysis project (and remove unused code). He was involved.
(17:11:22) LiHeng: mhu:OK! And can we make suggestion for other project to reduce some object
(17:11:35) mhu: I still have the idea that the real problem is not to improve startup by say 10% but by a factor of 10, and we should analyze the real problem first.
(17:12:25) mhu: LiHeng: yes, the reduction of size is always good.
(17:12:32) xiuzh1: mhu:I think so
(17:12:43) LiHeng: mhu:I think so
(17:12:55) mhu: Okay, thanks :-)
(17:13:17) LiHeng: ok, do next item?
(17:13:34) mhu: yes, i'm finished for now.
(17:13:56) LiHeng: second : What tools we need?
(17:14:35) kuangliang: Can we analyze OO by Sun Stdio?
(17:14:39) YuGuoqiang: LiHeng: How about mba? He/She did not talk about what he/she did before.
(17:15:14) mba: Our work was mainly related to supporting Matthias in his effort to get less code loaded on startup
(17:15:16) LiHeng: Matle_:you have already built some tools for monitor and profile, can you introduce them ?
(17:15:46) mba: So we coordinated and did the work that effectively removed several MB of code from that being loaded on startup.
(17:16:22) Malte_: I have tools for measuring, not for profiling.
(17:16:44) Malte_: This tool will measure startup and load/save of some tests docs.
(17:16:46) mhu: kuangliang: yes, partly SunStudio can help also. More on Solaris 10 or OpenSolaris (Solaris 11) with 'dtrace' support.
(17:17:02) Malte_: Optionally, it can do so for 2 versions of OOo, so you can compare them.
(17:17:18) Malte_: This is very helpful to check if your optimizations really helped here.
(17:17:33) LiHeng: Malte_: How can we get these tools?
(17:17:35) Malte_: Because - the profiler sometimes tricks you ;)
(17:17:56) Malte_: You think changing something makes a big differnce, but in reality, it doesn't :(
(17:18:08) kuangliang: MHU:Thanks !And do you do anything by this way?
(17:18:12) Malte_: This tool: I can send to you.
(17:18:31) mhu: Yes, sometimes a simple wall-clock is sufficient for measurements.
(17:18:36) Malte_: For some reason, only the Java binaries, no source right know, and not for making public on OOo right now.#
(17:18:38) LiHeng: Malte_:I know it , but we need the profiling to make deeply analyze
(17:19:04) Malte_: But you can configure it via config files, so you can change the measure points...
(17:19:18) Malte_: Getting profilers is up to you.
(17:19:24) Malte_: I used Intel VTune on Windows
(17:19:32) Malte_: It's around $600, I think.
(17:19:52) Malte_: You can download a trial version, with the resctriction that you can NOT save the results then
(17:20:05) Malte_: On Linux you can use Valgrind.
(17:20:11) Malte_: I didn't try it myself.
(17:20:19) Malte_: It's free, but probably harder to use.
(17:20:27) LiHeng: we will try to use Valgrind first
(17:20:29) mhu: kuangliang: sometimes I work on solaris with 'dtrace', more often manually observing things than using SunStudio. In my experience, much of this work is manual anyway (and thinking :-) ).
(17:20:44) Malte_: DTRACE is a very good choice!
(17:21:01) Malte_: But when I worked on performance, it was not available, came in late in the game
(17:21:14) kuangliang: MHU:ok
(17:21:38) Malte_: DTRACE might be hard to use, but should be very accurate, with powerful features
(17:21:56) mhu: Yes, dtrace was not yet finished when we worked on OOo2.0
(17:22:25) kuangliang: In
(17:22:33) Malte_: Using RTL_LOG (OOo source code feature) is also very helpful.
(17:22:36) mhu: Most tools are hard to use, because they produce too much data.
(17:22:40) Malte_: My tests are based on that.
(17:22:45) Malte_: See http://wiki.services.openoffice.org/wiki/Performance => RTL_LOG
(17:23:36) Malte_: BTW - the mentioned "Malte - we should really have your list embedded here ..." is this one:
(17:23:37) xiuzh1: Malte_: can dtrace used on Linux platform?
(17:23:47) Malte_: http://tools.openoffice.org/performance/performance-activities-overview.html
(17:24:03) Malte_: xiuzh1: IMHO - no.
(17:24:07) mhu: No, currently 'dtrace' is still a Solaris only feature.
(17:24:18) Malte_: But OpenSolaris is free!
(17:24:35) LiHeng: mhu: We will try to use the DTrace and Valgrind to profile the current version openoffice and make a report to expound the problem in our mind, and please help us to get the tools to measure that made by Malte
(17:24:44) mhu: But rumours say, that Apple is including dtrace in MacOSX (I think FreeBSD already has it).
(17:24:45) YuGuoqiang: How about gprof?
(17:24:45) Malte_: BTW - Sun Studio on Solaris is also much better than any Linux Debugger
(17:25:25) kuangliang: yes
(17:25:38) mhu: The latest SunStudio is also free, and works on Linux. But I have not yet tested it on Linux.
(17:26:20) LiHeng: mhu: We will try to use the DTrace and Valgrind to profile the current version openoffice and make a report to expound the problem in our mind, and please help us to get the tools to measure that made by Malte
(17:26:30) mhu: LiHeng: yes, we will help you getting the tools, and also with testing them.
(17:26:58) LiHeng: mhu: thank you very much
(17:27:41) LiHeng: mhu: should we do next step?
(17:27:49) mhu: LiHeng: you and your team can send email to me when and where you have a problem. When I cant answer, I'll ask Malte.
(17:28:56) mhu: LiHeng: next step? is not the time over for today?
(17:28:58) liangjun: mhu: think you .
(17:29:29) Malte_: One suggestion:
(17:29:32) mhu: LiHeng: what was the next step, that you wanted?
(17:29:44) Malte_: Instead of IRC meetings - wouldn't email be sufficient?
(17:29:53) LiHeng: mhu: ok we do next step next week?
(17:30:19) mhu: LiHeng: Okay for me, or, as Malte said, via email?
(17:30:52) mhu: LiHeng: But I can continue with IRC one hour a week.
(17:31:39) LiHeng: mhu,matle: ok , we can do a lot of thing in email, but we can continue with IRC
(17:32:19) mhu: LiHeng: fine. So make plan via IRC, do work via email?
(17:32:37) Malte_: MBA and me would prefer to do email ONLY...
(17:33:06) Malte_: Better exchanging mails every day when needed, then one fix meeting
(17:33:44) mhu: Okay, I would then ask Malte and mba to help, when we need them, okay?
(17:33:53) LiHeng: Matle_:can we do a meeting two weeks
(17:36:02) Malte_: That means: 2 more IRC before stopping IRC, or IRC every two weeks?
(17:36:05) LiHeng: Matle_: need discuss together
(17:36:09) mhu: LiHeng: we can do IRC every week, no problem for me. we ask others to join when we think we need them, okay?
(17:36:31) Malte_: Sounds good for me :)
(17:36:56) Malte_: Which remembers me that some of you wanted to send minutes from last meeting ;)
(17:36:57) xiuzh1: once a week is ok to discuss the requirement at the first several meetings.
(17:36:59) LiHeng: mhu:Okay for me
(17:37:44) mhu: LiHeng, xiuzh1: okay, thank you.
(17:37:52) xiuzh1: one hour per IRC meeting is OK, I think
(17:38:15) LiHeng: kuangliang :can you make the meeting minutes ?l
(17:38:56) mhu: LiHeng: shall I send the IRC log again, or do you have that already?
(17:39:20) LiHeng: mhu: yes, i have
(17:39:37) LiHeng: mhu: and thank you
(17:39:58) kuangliang: yes
(17:40:17) LiHeng: Thanks to everybody, and that's all
(17:40:26) mhu: Okay, thank you.
(17:40:57) Malte_: Bye :)
(17:41:01) xiuzh1: I have a news about the OOo code dump testing
(17:41:09) LiHeng: Bye Malte
(17:41:14) mhu: xiuzh1: yes?
(17:41:15) kuangliang: bye
(17:41:18) xiuzh1: not relationed to performance
(17:41:22) YuGuoqiang: bye
(17:41:27) liangjun: bye
(17:41:33) LiHeng: xiuzh1:tell us
(17:42:15) mhu: xiuzh1: I have a few minutes more time, please tell
(17:42:33) xiuzh1: There is a test report from Chinese CSIP. They have measured the classes of writer and sc,
(17:42:46) xiuzh1: they want to submit the report
(17:43:04) xiuzh1: who will they email ?
(17:43:46) mhu: Maybe Stefan? As I said, he was involved in a code analysis project here also.
(17:43:51) xiuzh1: they worked with klocwork
(17:44:38) LiHeng: xiuzh1:klocwork?
(17:44:52) mhu: But I can receive that report also, if you want.
(17:45:14) xiuzh1: LiHeng:yes
(17:45:20) xiuzh1: mhu: OK
(17:45:31) xiuzh1: I will email you
(17:45:35) LiHeng: xiuzh1:and i want to get a copy
(17:45:51) mhu: okay.
(17:45:52) xiuzh1: any other people needed?
(17:46:19) YuGuoqiang: xiuzhi: Please give me a copy also, thanks!
(17:46:32) xiuzh1: maybe mba need one
(17:46:38) mhu: let me look at the report first, then probably mba (mathias bauer) for sw and nn (niklas nebel) for sc.
(17:46:50) xiuzh1: OK
(17:46:51) liangjun: xiuzhi:and me .thanks!
(17:46:58) Malte_: And I just for my interest ;)
(17:47:35) mhu: okay, I need to leave now. Are we finished?
(17:47:39) xiuzh1: ok,
(17:47:40) xiuzh1: bye
(17:47:59) LiHeng: mhu:yes ,and next week same time?
(17:48:00) Malte_: Bye - again... ;)
(17:48:15) mhu: same time, next thursday, yes.
(17:48:33) mhu: good bye
(17:48:44) LiHeng: bye
(17:48:47) liangjun: bye
(17:51:17) xiuzh1: LiHeng: are you there?
(17:52:10) kuangliang: xiuzhi: i'm liheng
(17:52:59) mba: bye
IRC Meeting of Sun Microsystems (StarOffice) with RedFlag2000
Time: 15:55– 17:09
(15:55:51) LiHeng: xiuzhi thant you for attending
(15:56:03) xiuzhi: LiHeng:hi
(15:56:18) xiuzhi: LiHeng: you are welcome
(15:56:34) LiHeng: this time is first meeting ,please help us
(15:57:37) xiuzhi: LiHeng:when you talk with somebody. please print his name , for example: LiHeng:....
(15:58:07) LiHeng: how long the meeting will take every time?
(15:58:23) xiuzhi: op /LiHeng
(15:58:58) xiuzhi: kuangliang:hi
(15:59:13) xiuzhi: mba:morning
(15:59:22) LiHeng: glad
(15:59:34) YuGuoqiang: hello, everyone!
(15:59:43) mba: Good morning / afternoon to everybody!
(15:59:47) mhu: LiHeng: good afternoon; I think today the meeting can be less than 1 hour
(15:59:54) kuangliang: Good morning / afternoon to everybody!
(15:59:55) LiHeng: aha, glad to meet you mba
(16:00:04) mhu: Good afternoon / morning everyone.
(16:00:12) liangju1: Good afternoon / morning everyone.
(16:00:23) xiuzhi: shall we start?
(16:00:30) xiuzhi: Agenda:
(16:00:31) xiuzhi: 1.RedFlag staff self-introduction
(16:00:31) xiuzhi: 2.Sun Staff self-introduction
(16:00:31) xiuzhi: 3.discuss the requirements for performance
(16:00:31) xiuzhi: 4. Roundtable
(16:00:54) xiuzhi: A1: RedFlag staff self -introduction
(16:01:00) mhu: xiushi, yes we can start I think. The agenda is fine.
(16:01:42) LiHeng: ok , i am first
(16:02:03) LiHeng: My name is Li Heng
(16:02:24) LiHeng: Director of System research dept
(16:02:38) LiHeng: senior softare architect
(16:02:50) xiuzhi: I am Xiuzhi , major on Document Formart . I worked for RedFlag ch2000 for 6 years
(16:02:56) YuGuoqiang: I'm YuGuoqiang, you can call me Yu for short. I am an Architect of System Research Dept of Redflag2000.
(16:03:06) kuangliang: Hello,I'm Kuang Liang , an architect of System Research Dept
(16:03:45) liangju1: hello, I'm Zeng Liangjun.a architect of System Research Dept. Of Redflag2000
(16:04:07) LiHeng: Kuangliang and I have worked for RedFlag Ch2000 for 6 years too
(16:04:16) kuangliang: Yes
(16:04:55) mhu: Okay, I think I'm next.
(16:05:01) xiuzhi: A2.Sun Staff self-introduction
(16:05:50) mhu: I am Matthias Huetsch, Sun Senior Staff Engineer and Software Architect for StarOffice and OpenOffice...
(16:06:30) mhu: ...I am working for Sun / StarDivision for 11.5 years now in various positions.
(16:06:46) mhu: Nice to meet you all, and work with you.
(16:06:57) mba: I'm Mathias Bauer, former OOo Framework Project Lead and now Framework Co-Lead and Project Lead for Writer. At Sun I'm the manager of the Framework and Writer development teams. I'm working for Sun/StarDivision for more than 12 years.
(16:07:02) LiHeng: nice to meet you too
(16:07:19) xiuzhi: A3.discuss the requirements for performance
(16:07:47) mhu: LiHeng: will you start?
(16:07:53) LiHeng: okay
(16:09:20) LiHeng: i think the performance project will maintain a good performance of openoffice
(16:10:16) LiHeng: and the first we must locate the key part that results performance down,
(16:11:19) LiHeng: the project ,must collect all questions and suggestion about performance from end-user
(16:12:15) LiHeng: establish some item,pattern and design test case to evaluate performance of OO
(16:13:04) Malte_: Hi :)
(16:13:12) LiHeng: Hi
(16:13:48) Malte_: I get the status from MHU via phone...
(16:14:14) xiuzhi: (16:07:19) xiuzhi: A3.discuss the requirements for performance
(16:14:14) xiuzhi: (16:07:46) mhu: LiHeng: will you start?
(16:14:14) xiuzhi: (16:07:53) LiHeng: okay
(16:14:14) xiuzhi: (16:09:20) LiHeng: i think the performance project will maintain a good performance of openoffice
(16:14:14) xiuzhi: (16:10:17) LiHeng: and the first we must locate the key part that results performance down,
(16:14:14) xiuzhi: (16:11:19) LiHeng: the project ,must collect all questions and suggestion about performance from end-user
(16:14:17) xiuzhi: (16:12:15) LiHeng: establish some item,pattern and design test case to evaluate performance of OO
(16:14:30) LiHeng: in future we must provide some special gear to maintain performance of new features that will add into the next version
(16:14:46) LiHeng: that's all
(16:15:01) mhu: Malte: LiHeng just introduces his view of the project.
(16:15:49) mhu: LiHeng: thanks for the summary, I will answer in few seconds. What about Malte introducing himself quickly?
(16:16:07) LiHeng: okay
(16:16:10) xiuzhi: Malte_:morning
(16:16:18) Malte_: Sure, wait a moment :)
(16:16:52) Malte_: OK,
(16:16:54) Malte_: I am Malte Timmermann, working on StarOffice/OpenOffice.org on > 15 years now.
(16:16:55) Malte_: I worked a lot on performance, when OOo 2.0 early versions where VERY slow.
(16:17:22) Malte_: I also coordinated most of the efforts here then...
(16:17:59) mhu: Thanks Malte.
(16:18:09) Malte_: Focus was on startup and document load/save, but as you see, there is STILL a lot of work to do :(
(16:18:44) LiHeng: but it must be change :)
(16:18:48) kuangliang: yes
(16:19:22) Malte_: Sure, hope you guys will spend some full time work on it :)
(16:19:52) mhu: LiHeng: Let me try a summary of what you said. (1) maintain good performance, ...
(16:20:19) xiuzhi: RFch2000:
(16:20:43) YuGuoqiang: OK
(16:20:51) YuGuoqiang: xiuzhi:OK
(16:21:00) mhu: ...(2) locate key parts..., (3) collect requirements from end-user..., (4) establish test cases to monitor performance...
(16:21:21) xiuzhi: mhu,Malte_,mba: I told some basic rule of using IRC, sorry I use Chinese
(16:21:22) mhu: Did I understand that correctly?
(16:21:41) mhu: xiuzhi: okay, no problem
(16:21:41) LiHeng: mhu: we must do something that can build openoffice in good state very version in future
(16:21:49) Malte_: Point 4 was: evaluate, not monitor
(16:21:53) LiHeng: mhu:not one version
(16:22:01) Malte_: Sure monitoring is also important...
(16:22:44) mhu: LiHeng: Yes, not just one version, but maintain good performance for future versions
(16:22:58) LiHeng: i agree
(16:24:06) Malte_: JFYI - we have some automatic performance tests already.
(16:24:08) Malte_: They don't make the product faster, but they assure we don't become slower.
(16:24:14) mhu: Malte developed and introduced some performance monitoring framework for child workspaces here in hamburg.
(16:24:34) Malte_: We should try to bring them to OOo, IMHO.
(16:24:44) LiHeng: mhu /Malte: so we have to some works to help the other developer to find the performance problem in new feature
(16:24:45) Malte_: To RedFlag, at least.
(16:25:37) mhu: Malte_: perhaps we can work on these tests with LiHeng's team, and see how we can improve them so that they work in Bejing as well.
(16:26:10) LiHeng: we need the document about the monitoring framework
(16:26:22) LiHeng: Malte:we need the document about the monitoring framework
(16:26:58) Malte_: The automatic tests a good for
(16:27:00) Malte_: - testing a CWS doesn't make OOo slower
(16:27:02) Malte_: - check if your optimizations really help.
(16:27:03) Malte_: No document, "just" some Java code ;)
(16:27:55) LiHeng: Malte_: we need you help
(16:28:31) LiHeng: Malte_:OpenOffice is so large
(16:28:36) Malte_: If Dieter agrees, I bring them to OOo, and write some small documentation...
(16:28:48) Malte_: Large is an other topic ;)
(16:29:01) LiHeng: Malte_:Yes
(16:29:10) Malte_: Sure it also has some influence on performance, but large is not the biggest issue for this...
(16:29:26) Malte_: We need to analyze the start-up again.
(16:29:41) Malte_: I assume there is still lot of configuration pasring involved.
(16:29:45) xiuzhi: Malte_:code dump is OK, some document is better,I think
(16:29:52) mhu: Okay, I talk to Malte and Dieter how to publish the performance test that we have.
(16:30:07) Malte_: Yes.
(16:30:24) Malte_: That's one thing you can use for verifying your work.
(16:30:39) Malte_: But how/what do you plan to start with optimizing?
(16:30:47) mhu: Can we please come back to the (1)-(4) summary that I sent before?
(16:31:06) LiHeng: Malte_:We should define some number to expound the state of openoffice's performance
(16:31:09) xiuzhi: mhu:I think so
(16:31:34) mhu: I think we agree on (1) maintain long term good performance...
(16:31:41) LiHeng: yes
(16:32:09) Malte_: (1) maintain good performance
(16:32:12) Malte_: (2) locate key parts
(16:32:15) Malte_: (3) collect requirements from end-user
(16:32:15) Malte_: (4) establish test cases to evaluate/monitor performance
(16:32:17) Malte_: Yes, no discussion on 1.... :)
(16:32:21) mhu: (2) "locate key parts " is the difficult part, we will need much time to work on this
(16:32:56) LiHeng: mhu: we must do something for it
(16:33:20) mba: I miss the statement that we have "cold start" and "warm start" (second start) performance; both are influenced by very different parameters
(16:33:28) Malte_: I suggest RedFlag does some analyzes with profilers, and comes back with some suggestions we can discuss
(16:33:33) LiHeng: no location ,we have to face whole system
(16:33:34) mhu: (3) collect from end-user: Stefan Zimmermann did send me a document "Responses from the consumer", is that a good base to start discussion?
(16:33:54) mba: IMHO "cold start" has not been looked at until now but in fact is the bigger problem
(16:34:16) mba: Even our performance tests don't cover it
(16:34:32) Malte_: Right... Hard to measure
(16:34:46) Malte_: At least in automatic tests...
(16:35:21) mhu: (4) test case to (a) evaluate and (b) monitor; I think we have talked about (4b)
(16:37:14) mhu: I would like to into (3) first: determine what are the largest problems for an end-user, and agree on that...
(16:37:18) LiHeng: We will do evaluate majar version of OpenOffice, and collect problem from end-user
(16:38:28) mhu: LiHeng: yes, verify with end-user what largest problem is , that is good.
(16:38:39) LiHeng: :0
(16:38:43) LiHeng: :)
(16:39:42) Malte_: Well, I don't think that we don't know the answer ;)
(16:39:52) Malte_: Startup + doc load/save?
(16:39:58) mhu: It is so easy to say, OOo is slow. We are engineers and need to look somewhat deeper, and that starts with asking: what is actually slow?
(16:39:59) Malte_: Maybe memory consumption, too#
(16:41:33) LiHeng: yes
(16:41:46) mba: mhu: are you recommending profiling sessions?
(16:41:54) LiHeng: we need more number to analysis the problem
(16:42:02) mhu: LiHeng: You know the "Responses from consumer" spreadsheet, right?
(16:42:27) LiHeng: mhu:yes i know it
(16:43:01) Malte_: Mmmh - I don't :(
(16:43:20) mhu: LiHeng: can we start with that? I think it already has some answers, like Malte said: combined startup and document load times, document save times.
(16:43:44) LiHeng: mhu: it 's only a arrange
(16:43:54) mhu: mba: sure, we always start with profiling :-)
(16:44:19) mhu: LiHeng: can you explain? it is only what?
(16:46:05) mhu: LiHeng: did you mean: it is only one aspect of the entire problem? or something different?
(16:46:15) LiHeng: mhu: "Responses from consumer" is only arrange some number from user, and we must analyze
(16:46:21) LiHeng: it
(16:46:41) LiHeng: yes
(16:47:06) mhu: LiHeng: we need to further analyze it, I only wanted to take that as a start to discuss.
(16:47:41) LiHeng: yes
(16:47:54) LiHeng: what is the profiling
(16:48:07) LiHeng: mhu:what is the profiling?
(16:49:03) mhu: Profiling means "to profile where (in the code most) of the time is spent for some operation".
(16:50:07) mhu: For example Intel's "VTune" is such a tool, or the opensource "callgrind"
(16:50:35) LiHeng: i know
(16:51:05) mhu: okay, that is what we mean with "profiling"
(16:52:44) LiHeng: mhu:do you have value of profiling?
(16:54:33) mhu: LiHeng: no, in my expirience it is not static. We need to do that as continous part of our analysis where the largest problem is...
(16:55:03) mhu: ...and that changes over time, when new features are integrated or other code is changed...
(16:55:41) mhu: ...so, one version may be fast with something, then someone changes code, and it is slower...
(16:56:19) LiHeng: mhu:so we must find it in child workspace
(16:57:02) mhu: LiHeng: yes, that is best. find it in the child workspace where the code is introduced.
(16:58:16) LiHeng: mhu: if we find the problem in a child workspace ,we must analyze it around to try to find out some framework should be changed
(16:58:19) mhu: What I mean with not static: I know some data for OOo 2.0, but OOo 2.3.1 can have it's problems at other places.
(16:59:35) mhu: Okay, how do we continue from here? I think we need much more time for discussions :-)
(16:59:56) LiHeng: so we need to kown whole architect of OpenOffice
(17:00:43) mhu: I think you already know much of the whole architecture.
(17:01:07) LiHeng: Not every details
(17:01:22) mhu: No one knowns all details :-)
(17:01:49) mhu: But together, we know enough to solve most problems
(17:02:03) LiHeng: Yes
(17:03:26) mhu: LiHeng: can we meet next week at the same time? I like to write you an email to prepare that meeting.
(17:03:44) LiHeng: Okay,
(17:04:02) Malte_: If I should also attend, then 30 minutes later, please
(17:04:25) LiHeng: my email: firstname.lastname@example.org
(17:05:32) LiHeng: mhu: thank you and see you next week
(17:05:37) mhu: LiHeng: thanks, my email is simply email@example.com (but Peter Junge and Stefan Zimmermann know me, you can ask them).
(17:06:23) LiHeng: xiuzhi: something you want to talk?
(17:06:38) xiuzhi: LiHeng:no
(17:06:46) mhu: xuizhi, LiHeng: Do you have the time to start 30min later next time?
(17:06:54) xiuzhi: LiHeng:Please ask someone to write the meeting minutes
(17:07:12) xiuzhi: mhu:Yes
(17:07:15) LiHeng: ok
(17:07:28) Malte_: Perfect :)
(17:07:30) mhu: xiuzhi: I hope that I can send the logfile for this session as minutes.
(17:07:48) LiHeng: mhu : yes i will send the minutes to you
(17:08:05) xiuzhi: mhu:fine, but it is too simple , I have a meeting minutes template
(17:08:20) Malte_: Nice to hear :)
(17:08:23) xiuzhi: LiHeng: Please ask liutao for the template
(17:08:35) LiHeng: mhu:you can send the template to me
(17:08:38) Malte_: Probably better then a simple log file...
(17:09:02) mhu: Okay, then please send real minutes. Have a good evening. See you next week.
(17:09:23) Malte_: Bye :)
(17:09:33) LiHeng: Bye!
(17:09:37) YuGuoqiang: Bye:)
(17:09:40) kuangliang: Bye
(17:09:43) liangju1: Bye:)
(17:09:53) mhu: Bye all