Difference between revisions of "Performance/Meetings/2008 09"
|Line 1:||Line 1:|
Latest revision as of 23:12, 17 March 2010
|About this template|
IRC Meeting of Sun Microsystems (StarOffice) with RedFlag2000
Time: 16:00– 17:00
(4:00:46 PM) liheng: hi,all
(4:01:23 PM) mhu: Hi liheng
(4:01:35 PM) yugq: hi
(4:02:03 PM) liheng: mhu:kuangliang and xiuzhi can't not attended this meeting,because xiuzhi have some other bussiness and kuangliang just got a bady last week
(4:02:16 PM) liangjun: hello all
(4:03:42 PM) mhu: okay, then we are complete?
(4:04:35 PM) liheng: Now yes, last person has been in ;)
(4:05:00 PM) liheng: Did you view the picture of Configmgr dividing phases?
(4:05:48 PM) mhu: yes, I have seen it, but not yet completely analyzed and understood. Can you / yuqg provide a short explanation?
(4:06:26 PM) yugq: mhu, yes.
(4:07:57 PM) yugq: we define the configmar performance as four parts(x1,x2,x3,x4).
(4:08:23 PM) mhu: yes
(4:09:41 PM) yugq: for example, x2 is defined as "data load/parse time from file", and we should add something to trace the log on some important classes such as TreeFactory.
(4:10:49 PM) mhu: okay, understood
(4:11:07 PM) yugq: the flow chart is a concept show to understand the every part more clearly .
(4:11:55 PM) mhu: yes, good
(4:11:55 PM) yugq: mhu, do you think these defines are good?
(4:12:28 PM) mhu: yes, in general it looks good (especially the graphic :-) )
(4:13:18 PM) yugq: If this kind of defines is suitable for our analyze, we can do like this to divide other performance issue.
(4:13:32 PM) mhu: what I am thinking about is how to sort out "independent variables" from "dependent variables" (i.e. root cause from observable effect)...
(4:14:31 PM) mhu: ...and what would be the measurable variable here, i.e. what exactly is "Y".
(4:15:12 PM) mhu: but yes, if it works out in this case, we should do similar for other performance issues, yes.
(4:15:37 PM) yugq: mhu, yes. It's a problem to define Y as a clear thing.
(4:15:59 PM) mhu: ...for example, could "Y" be the sum over the times for all config paths?
(4:16:11 PM) yugq: I think Y is just a concept thing, something like a describe?
(4:17:25 PM) mhu: oh, yes. of course it is a concept, but at some point you something concrete that is measurable.
(4:17:43 PM) mhu: s/you something/you need something/
(4:18:34 PM) yugq: Y may not a simple sum of the time measurement. Sometimes X1 and X2 could be parallel.
(4:19:42 PM) mhu: you mean parallel as in "executing in different threads" ?
(4:21:09 PM) yugq: no, parallel defined things, maybe excute not at the same time, or excute at different routines.
(4:23:19 PM) mhu: Hmm, maybe I do not yet understand. For me, Y and Xi really mean something like those oldfashioned variables in "y=f(x)", so the "x's" are the variables that "y" depends on by some function "f".
(4:23:44 PM) yugq: but I think Y is just another defined thing, we can of course define it as a sum of all the time measurement.
(4:24:36 PM) mhu: so, I understand your X2 and X4 as having a relationship that X2 depends on X4, or "X4=f(X2)".
(4:26:03 PM) mhu: hmm, that was wrong: I mean the other way round: X2=f(X4)
(4:26:21 PM) mhu: I should not type too fast :-(
(4:26:58 PM) mhu: so, what I am trying to say is...
(4:27:09 PM) yugq: mhu, yes. It's a mistake i undertook!
(4:28:17 PM) yugq: what i thought before is that Y is not a function, just a concept.
(4:28:53 PM) mhu: ...your picture is probably right in that X4 is a factor of X2, but what we still need to verify that it is an *important* factor, i.e. that the value of X2 is determined mostly by X4 and not by other, yet unknown, factors.
(4:30:06 PM) mhu: Y is not the function, but the value of a function F with proposed variables X1, .... X4. SO, maybe Y= X1*X2 + X3*X4 ?
(4:30:49 PM) mhu: that is just an example, the true F(...) may be something completely different.
(4:31:04 PM) yugq: yes.
(4:31:07 PM) mhu: ...and it may not even be totally understood.#
(4:31:48 PM) mhu: ...but we should be able to measure an effect on Y when we change some of the X's.
(4:32:27 PM) yugq: yes, I understand you now.
(4:33:37 PM) mhu: okay, I also think that I now understand your diagram.
(4:33:58 PM) yugq: we need an F to measure Y. like Y = F(x1,x2,x3), if x1 changes, Y should get changed.
(4:34:49 PM) mhu: I think it is a good diagram, and your X1 ... X4 may indeed be interesting partial measures for the performance of configmgr.
(4:35:00 PM) mhu: yes, that is what I wanted to say.
(4:35:24 PM) yugq: mhu, OK. I think we understand each other now. ;-)
(4:36:03 PM) liheng: mhu:what i understand, do you think every X must be in a serial?
(4:36:31 PM) mhu: we might not need to understand what exactly F is, but we should know how to measure its value Y.
(4:37:01 PM) mhu: liheng: with "serial", do you mean independent variable?
(4:37:12 PM) yugq: mhu, I think if X in a serial, it will be easier to measure Y.
(4:37:39 PM) mhu: I dont understand "serial", sorry.
(4:38:08 PM) liheng: not independent variable ...
(4:38:41 PM) yugq: I understand as do something in a sequential?
(4:39:08 PM) liheng: in a sequential process
(4:39:22 PM) yugq: :-D
(4:39:30 PM) mhu: maybe I understand...
(4:39:32 PM) liheng: maybe Y=X1+X2+...X3
(4:40:13 PM) liheng: all X would be execute one by one
(4:40:26 PM) mhu: no, I think that is not necessarily so. I your diagram we have X2 and X4 so that X2=f(X4), and that is just fine.
(4:40:54 PM) yugq: liheng, yes. If something like this, it will be easy to measure. And I think there will be more complex part exsist.
(4:41:07 PM) mhu: all these "factors" X can be pretty complex.
(4:42:13 PM) liheng: mhu:yes, and we must give out explain whew we define the complex factor
(4:42:53 PM) mhu: maybe, we are now back to my previous question of "maybe Y is the sum of all X1(which is for one path) for all paths" ?
(4:43:31 PM) mhu: so that we in fact have many X1 ? one for each path?
(4:44:22 PM) liheng: I think we can't make sure it
(4:44:36 PM) mhu: liheng: explain complex factor: yes; and your diagram is very good for that explanation.
(4:46:51 PM) liheng: I'm worry we can't make over all hotspot, that some case maybe more complex than this
(4:47:53 PM) yugq: mhu, there will be many paths in actual, and we can get a statistic data when we test X1.
(4:47:59 PM) mhu: I think, X1 (data search time from provider by path) is very interesting to look at: I think, what we want to achieve is something like minimize X1 on average of all path, or for the total of all paths, or reduce the variance in X1 for different pathes, ... What we want should determine what our Y is.
(4:49:02 PM) yugq: we can use statistic data to describe an X1.
(4:49:32 PM) mhu: yes, at least we need to measure / get statistics over X1.
(4:49:52 PM) yugq: and how to test X1 can be defined alone.
(4:49:59 PM) mhu: yes
(4:50:34 PM) mhu: that means, for our purposes, we take X1 as one of our important Y's.
(4:51:08 PM) liheng: Yes, It seems we must analyze X1 deeply
(4:51:37 PM) mhu: (X3 may be in the same category; X2 and X4 are more of the independent variable category, influencing X1 and X3).
(4:52:13 PM) mhu: yes, your diagram clearly shows that X1 is interesting to look at.
(4:53:44 PM) liheng: but,it just give us a sign maybe some performance problem in there
(4:54:18 PM) mhu: yes, that is where our understanding that X2 and X4 are the root causes comes in.
(4:54:43 PM) mhu: we know, that to improve in X1 we need to work on X2 and X4
(4:55:15 PM) mhu: so, X1 = f(X2, X4).
(4:55:25 PM) mhu: ...as the diagram says.
(4:55:55 PM) liheng: I have a ideal we can you this case to try our new test-tools and discuss with the result
(4:56:08 PM) liheng: maybe X1 is a subsystem alone:)
(4:56:15 PM) mhu: yes, that would be good.
(4:56:41 PM) mhu: yes, that is what thought also: X1 maybe our first Y to analyze
(4:58:13 PM) mhu: okay, I need to leave for the next meeting, sorry.
(4:58:21 PM) liheng: yes, we are just a big map of dependency of OOo's performance
(4:58:23 PM) liheng: :)
(4:58:46 PM) mhu: yes, that big map can be an end result.
(4:58:47 PM) liheng: okay, next week is our holiday:)
(4:58:56 PM) yugq: :)
(4:59:11 PM) mhu: yes, Peter Junge also sent an email explaining your holiday.
(4:59:39 PM) mhu: so, I wish you a good time, enjoy your holidays, see in 2 weeks.
(4:59:54 PM) mhu: s/see in/see you in/
(4:59:57 PM) liheng: so, we will get together at 10/9
(5:00:04 PM) mhu: yes
(5:00:19 PM) liheng: okay, bye,
(5:00:19 PM) mhu: bye, need to hurry now...
IRC Meeting of Sun Microsystems (StarOffice) with RedFlag2000 and the Community ??
Time: 16:03– 16:52
(4:03:57 PM) liheng: hi,all
(4:03:58 PM) liheng: :)
(4:04:07 PM) mhu1: hi
(4:04:16 PM) liangjun: hi,all
(4:04:16 PM) liheng: Sorry,I'm late...
(4:04:38 PM) liheng: another meeting take the long time:)
(4:04:50 PM) mhu1: Don't worry about being late, usually I am the one who is late :-)
(4:05:46 PM) liheng: today, Guoys can't attend this meeting, because he is just tranning several new perpons:)
(4:06:19 PM) liheng: mhu:Did you receive the mail about this IRC
(4:06:21 PM) mhu1: well, training new people is good also, I think
(4:06:33 PM) mhu1: yes, I have read your email
(4:07:38 PM) liheng: please help us to find your code of T-Test, we will start to create analyzing tool
(4:08:51 PM) mhu1: yes, of course. If you give me a couple of minutes, I can look the code up....
(4:09:50 PM) liheng: Yes, today we have only one topic, what is develpor want to see in test report
(4:16:13 PM) mhu1: okay, I have found the code, but I need a couple more minutes, stay tuned ...
(4:17:14 PM) liheng: okay, maybe we can take a easy meeting today:)
(4:21:23 PM) mhu1: okay, I have sent the code attached as reply to your email. So, you should have it soon ...
(4:21:52 PM) liheng: Thank you every much!
(4:21:53 PM) liheng: ;)
(4:22:01 PM) mhu1: The code is somewhere between 3 and 5 years old, so I don't exactly remember all details.
(4:22:35 PM) mhu1: but the main function contains a "unit test" like example how to use it.
(4:23:12 PM) liheng: we study it first, for problems about it we discuss them via Email
(4:23:20 PM) mhu1: okay.
(4:24:16 PM) liheng: What do you think about what is develpor want to see in test reports?
(4:24:22 PM) mhu1: You were asking "what developer want to see in test report..." ...
(4:24:30 PM) liheng: yes :)
(4:24:38 PM) mhu1: (I just wanted to prepare an answer ...)
(4:25:15 PM) mhu1: So, what I think is most obvious, is "any change to better or worse".
(4:25:42 PM) mhu1: next question would be "change in what?"...
(4:27:09 PM) mhu1: and these what (the "Y" in our math. discussion, or "macroscopic observable values") can be "startup time", "document load time", "total memory consumption", or ...
(4:27:33 PM) liheng: any change to better or worse abou
(4:28:25 PM) mhu1: yes?
(4:28:27 PM) liheng: What i understand you is we must find and show some macroscopic values change
(4:28:56 PM) liheng: "(4:27:33 PM) liheng: any change to better or worse abou " is a worry type:(
(4:29:19 PM) mhu1: that is the "high level view" only, of course. But I think this what most people (definitely users) are interested in.
(4:30:13 PM) mhu1: okay, here are some thoughts...
(4:30:37 PM) liheng: yes, and then we must show the detail of change by X (microcosmic values)
(4:32:49 PM) mhu1: you developer work on some root cause "X" and work hard to improve the performance / time consumption / memory consumption of "X", and of course you expect it will improve the overall "Y" = "startup performance" (if Y=f(X)). So your "true" interest is to see that "Y" has indeed improved when you have been improving "X".
(4:33:43 PM) mhu1: ...and for you developer, of course changes in "X" are also important to be reported.
(4:33:52 PM) liheng: and, if you want to optimizing the code,do you have a prediction of effect
(4:34:22 PM) mhu1: ...but maybe not so important to other developers how are not working on "your X" but on "their X".
(4:37:34 PM) liheng: but I think we must show all X change to represent what has been really changed
(4:39:21 PM) mhu1: I was only thinking about the level of detail; yes, maybe it is also important to show to all what X have been worked on.
(4:39:55 PM) liheng: At first we can make some template for reports that mainly show the statistical results of macroscope value :)
(4:40:18 PM) liheng: And append more details step by step
(4:41:01 PM) mhu1: yes, that would be the place to start (like the CWS performance measurements that Malte did).
(4:41:50 PM) mhu1: and, it would show us, if we have the process under control (that is can do reliable and repeatable measurements).
(4:41:56 PM) liheng: To show all X is in order to show which changes cancel out your improving
(4:42:41 PM) mhu1: Ah, yes that is an important point; I think I tend to forget about that; you are right :-)
(4:43:55 PM) liheng: okay, that all for me:)
(4:44:43 PM) mhu1: okay; can you send a note when you have received my email with the source code?
(4:45:35 PM) liheng: yes, "DataAnalysis.java"
(4:45:36 PM) liheng: :)
(4:46:01 PM) mhu1: okay, so you already have it, that is good. Have fun with it.
(4:46:29 PM) liheng: By the way, the work of improving of configmgr is all in well:)
(4:46:42 PM) mhu1: it is stolen from the book "Numerical Recipes (Fortran edition)".
(4:47:24 PM) mhu1: oh yes, I wanted to ask that for some time; good to hear that you are making progress with configmgr.
(4:47:25 PM) liheng: I will try to find that book
(4:48:38 PM) mhu1: the book should not be necessary, only if you to understand the details of "incomplete gamma functions" and such; try to study the Main() function, how the T-Test is used, that should be sufficent.
(4:49:35 PM) mhu1: or a book about statistical data analysis (why you want to use a T-Test, and what it tells you)
(4:49:40 PM) liheng: The first vesion will be brought out in 3~4 weeks, becouse long holiday of National Day;)
(4:50:11 PM) mhu1: okay. When is that national holiday?
(4:50:58 PM) liheng: Sep 28th to Oct 5th:)
(4:51:18 PM) mhu1: Ah, okay. Wish you a good time then.
(4:51:38 PM) liheng: thank you and see you next week
(4:51:55 PM) mhu1: yes, see you next week. Bye all.
(4:52:18 PM) liheng: bye
IRC Meeting of Sun Microsystems (StarOffice) with RedFlag2000
Time: 16:02– 16:58
(4:02:59 PM) mhu: Hi all, sorry for being late.
(4:03:08 PM) xiuzhi: hi all
(4:03:10 PM) kuangl: hi
(4:03:12 PM) liheng: hi
(4:03:17 PM) liangjun: mhu:hello
(4:03:23 PM) liangjun: hello all
(4:04:47 PM) liheng: mhu:because i am just implementing the prototype of new test-tools so i have only one topic about it today
(4:06:18 PM) mhu: okay, that is fine with me. I'm just now studying your email with the design picture...
(4:07:22 PM) liheng: during I designed the prototype of the tools, I improved the idea of framework, I want add a set of UNO Service for performance analysis
(4:08:21 PM) mhu: yes, sounds good.
(4:09:22 PM) mhu: that is also what your picture displays, right ?
(4:11:26 PM) liheng: yes! And all developer can use them to extend our tools, and we can get more precise value.
(4:13:13 PM) mhu: yes, that was the we discussed during one of our last meetings, if I remember correctly.
(4:14:05 PM) mhu: Any details that you want to discuss?
(4:14:19 PM) liheng: At first, i record the time by using Java methods, but i found i got the a lot of inaccuracy in results, especially in basic function case
(4:16:30 PM) mhu: what do you mean with "basic function" ? "basic" as in "BASIC := Beginners All purpose Symbolic Instruction Code" ?
(4:17:26 PM) mhu: ...and what timing accuracy do you need ? milli seconds, micro seconds, nano seconds ?
(4:18:24 PM) liheng: milli is enough :)
(4:18:36 PM) mhu: okay
(4:19:47 PM) liheng: BASIC function mean a common arithmetic
(4:21:38 PM) liheng: or common object and method in OOo, Y=X1+X2...+Xn, every X is a basic function
(4:23:16 PM) mhu: just as a sidenote: my javadoc says "long System.currentTimeMillis()" or since Java 1.5 "long System.nanoTime()".
(4:23:23 PM) liheng: I want to get you suggestions of which form will we provide these services to all developers, a extension,inner fucntion,or ...
(4:23:54 PM) mhu: okay, now I understand your "basic function" (as is "independent variable").
(4:24:25 PM) mhu: s/as is/as in/
(4:25:29 PM) mhu: how to provide these services? If possible (and matches the problem that shall be solved) as an extension, I think.
(4:25:34 PM) liheng: oh,,,,the inaccuracy come from the function System.currentTimeMillis() qua Java method ....
(4:26:29 PM) mhu: then probably your resolution / accuracy requirement is better than milli seconds ?
(4:28:50 PM) liheng: \the basic function maybe only take Millis second, but to simulate million calls of runtime I run it thousand times, and record the time, but Java spend more time than test target(the basic function) :(
(4:29:17 PM) mhu: back to "How to provide these services...": maybe there is also functionality that needs code integrated into OOo natively. An example would the the "rtl_log_..." functions.
(4:30:52 PM) liheng: yes, a parts of it must be functionality, but the warp object only in extension well, i thought
(4:31:56 PM) mhu: yes, I think the analysis code (and maybe the code that starts a test) should be an extension....
(4:33:10 PM) mhu: ...but if we would need support like "rtl_log_..." (I don't know what that would be, though) then that would go into the native code.
(4:33:28 PM) liheng: ;),yes, i design a set of methods to start a test in several modes, eg. run a case n times;
(4:33:33 PM) mhu: ...this is only hypothetical.
(4:33:54 PM) mhu: yes, that is good.
(4:35:12 PM) liheng: okay in another side how to support measuring of memory it a difficult job
(4:35:57 PM) mhu: what do you mean with "measuring of memory" ?
(4:37:10 PM) liheng: to measure the memory condition
(4:37:53 PM) mhu: "the memory condition" ? what do you mean with that ?
(4:38:44 PM) xiuzhi: LiHeng: the memory cost?
(4:38:51 PM) liheng: to measure the increment of memory using about a case,
(4:38:59 PM) mhu: how much memory is consumed by the process ? or by some subsystem, say the configmgr instance ?
(4:39:02 PM) liheng: xiuzhi: yes thank you:)
(4:39:29 PM) liheng: subsystem!
(4:39:30 PM) mhu: sorry for always asking so much ...
(4:39:31 PM) liheng: yes
(4:40:30 PM) mhu: okay, so: the process uses N bytes of memory before a test, and uses N+X bytes of memory after a test, and you want to measure "N", right ?
(4:41:05 PM) mhu: ohh, well: what I wanted to say is: you want to measure "X" ....
(4:41:48 PM) liheng: Yes, measure memory cost in X,
(4:43:03 PM) mhu: okay, good. Or not? here is a counter example: what do you do, if X=0 ? because that subsystem does 1 million allocations and 1 million deallocations?
(4:44:51 PM) liheng: ;),i design a machanism can block a case in preset break point
(4:45:14 PM) mhu: :-)
(4:46:23 PM) mhu: okay, you want that as function of time during the test. Because the integral over time can be zero.
(4:47:00 PM) liheng: Most X will be declared by Prefermance group, so we can put some bread point
(4:48:21 PM) mhu: oh, perhaps I should not have used the letter "X" in my "N+X" example above. There I meant "N bytes of memory + X bytes of memory"; not our "basic function X".
(4:49:11 PM) mhu: yes, of course we will find out / define which are the main influence factors "X" and try to measure tehm.
(4:49:25 PM) mhu: s/tehm/them/
(4:50:29 PM) liheng: yes, because fragment of memory is a risk for a large software
(4:51:02 PM) mhu: which "fragment" you mean "fragmentation" of memory?
(4:52:20 PM) liheng: yes , fragmentation :)
(4:53:17 PM) mhu: okay, thanks. Well, I think modern memory allocators can handle that quite well, and OOo has more and larger bottlenecks than memory fragmentation.
(4:54:09 PM) mhu: but of course, we need to find that out.
(4:54:21 PM) mhu: where "find out" means "measure".
(4:54:42 PM) mhu: ...what the most important X's are.
(4:54:55 PM) liheng: :) "but of course, we need to find that out." is the same words i want to talk, :)
(4:55:05 PM) mhu: okay :-)
(4:56:10 PM) liheng: before we clarify all reasons of problem in OOo, we must be find them out all
(4:56:19 PM) mhu: Again, I have another meeting in about3 min. Are we finished for today?
(4:57:02 PM) mhu: oh, yes. we must determine which "X" are there, and how important are they relative to each other.
(4:57:14 PM) liheng: yes, thank you
(4:57:38 PM) liheng: I will finish the prototype in a week,
(4:57:46 PM) mhu: okay, please go ahead with your test tool prototype.
(4:57:59 PM) liheng: of course,
(4:58:11 PM) mhu: see you next week; bye all.
(4:58:15 PM) liheng: bye
(4:58:40 PM) xiuzhi: see you
IRC Meeting of Sun Microsystems (StarOffice) with RedFlag2000
Time: 15:53– 16:57
(3:53:02 PM) liheng: kuangl: please call guoyongshi to attend this meeting
(3:53:04 PM) liheng: :)
(4:00:21 PM) liheng: xiuzhi: :)
(4:01:47 PM) liheng: guoys:Hi,please attend this meeting every Thr
(4:02:07 PM) guoys: ok
(4:02:20 PM) mhu: Hi all
(4:02:27 PM) liheng: mhu:Hi, :)
(4:02:36 PM) guoys: hi
(4:02:38 PM) yugq: hi
(4:02:47 PM) liangjun: hi
(4:03:05 PM) xiuzhi: hi al
(4:03:08 PM) kuangl: hi
(4:03:40 PM) liheng: mhu:Did you receive the mail about topics today?
(4:03:50 PM) mhu: yes, I read it
(4:04:45 PM) liheng: Is it enough for our new test tools?
(4:05:36 PM) mhu: you mean the list of requirements? yes I thinkso.
(4:05:48 PM) mhu: s/thinkso/ think so/
(4:05:56 PM) liheng: Yes, the requirements;)
(4:06:43 PM) mhu: as usual, "the devil lies in the details" as the saying goes. But the requirements seem okay.
(4:07:40 PM) liheng: devil lies?:)
(4:08:04 PM) mhu: maybe subst "lies" with "is" ?
(4:09:05 PM) mhu: (i.e. "lies" does not mean "does not say the truth")
(4:09:12 PM) liheng: yes, i just want to ask do you think we can run a macro in a document is a good ideas?
(4:10:44 PM) mhu: yes, for parts of the analysis and presentation, it would be perfect to have that in OOo itself. Maybe not a macro, but a Java or C++ extension, but maybe we simply need to try it out.
(4:13:21 PM) liheng: i means if a serial of operations of a specail document needs launch to show some problem we need to run a macro
(4:13:51 PM) yugq: Liheng, I think the problem is how to count time spent in the macro.
(4:15:05 PM) liheng: yes, we can support this function for benchmark in Macro Module
(4:15:49 PM) liheng: a specail method do launch a macro and record the time
(4:18:22 PM) liheng: mhu:can you understand me?
(4:19:00 PM) mhu: Ah, you mean a macro to trigger the test, not to analyze the data? yes, that would be possible I think.
(4:19:45 PM) mhu: (sorry, for not responding earlier)
(4:20:08 PM) liheng: never mind;)
(4:21:13 PM) liheng: okay,do you think the sample of config is easy to use?
(4:21:30 PM) yugq: Liheng, maybe it's good enough to test some functional modules with macro. But some other tests such as testing startup cann't be done with macro. And I just worry about the macro itself is not efficient enough :)
(4:22:00 PM) mhu: the current testtool (used to perform GUI testing) is completely BASIC macro based, so this should be possible....
(4:23:04 PM) mhu: ...if we think it is not easy to separate macro execution from the test, as yugq said, then we can probably also use the testtool. Maybe.
(4:25:42 PM) mhu: yugq: I agree, and think a macro can only be used to *trigger* a test; the collection and analysis of the data probably needs other methods; and startup is always a special (bootstrap) case.
(4:26:50 PM) liheng: yugp:For old and fixed hotspots, running a macro is not necessary, but for some case that a volunteer find a slow operation and he want to submit it to us, he can bind the document and macro together, we only do that case to find problem:)
(4:29:49 PM) yugq: Liheng, yes, i understand now. Developers provide the test case, and we do test by our means like doing some timelog.
(4:30:16 PM) mhu: yes, this is how I understand it also.
(4:31:14 PM) liheng: yugq: yes, or maybe we can provide some cases to other developers, they can easy to use
(4:31:15 PM) liheng: ;)
(4:32:18 PM) yugq: :-D
(4:34:42 PM) liheng: So,we can make out a simpler design and prototype in next step, then we can discuss deeply with them
(4:35:02 PM) mhu: okay, fine.
(4:36:09 PM) liheng: mhu: I have a problem with optimzing by link and bootstrap ...
(4:36:33 PM) mhu: yes, what kind of problem?
(4:37:54 PM) liheng: I remembered someone do the bootstrap for linux and make startup faster in several version,...
(4:38:48 PM) mhu: yes?
(4:39:56 PM) liheng: only on linux system. Why do we not make the explicit description of lib for all OS?
(4:40:53 PM) mhu: do you mean the "pagein" mechanism of "sequential disk read of shared libs instead of demand paging" ?
(4:42:11 PM) mhu: from what I know, Windows file cache is more "intelligent", in that it does handle shared libs different and and already loads them sequentially into file cache, instead of demand paging...
(4:42:32 PM) liheng: a little words in http://tools.openoffice.org/performance/index.html title is "Symbol Size Optimizations"
(4:43:06 PM) mhu: when I made these tests, some years ago but on WinXP, "pagein" on windows gave no further improvement.
(4:43:32 PM) mhu: I look into that tools.ooo page now ... stay tuned ...
(4:45:34 PM) liheng: the "pagein" mean put the files into continuous sectors
(4:46:39 PM) mhu: okay (a) symbol size: I think that is about 6 years old, and means code size as a compiler optimization problem...
(4:47:38 PM) mhu: (b) pagein := contigous sectors: yes, but with todays large disks you seldom have fragmentation, many files copied to disk are in fact contigous.
(4:48:34 PM) liheng: yes, but i think "bootstrap" is valid on linux and solaris , not for windows link?
(4:50:12 PM) mhu: what do you mean with "bootstrap" here ?
(4:51:24 PM) liheng: yes on linux
(4:52:11 PM) mhu: I dont understand that as an answer to my question...
(4:53:02 PM) liheng: i see, and i will send a mail to explain it
(4:53:26 PM) mhu: okay, sorry.
(4:53:48 PM) liheng: I can't descript them very well,
(4:54:21 PM) mhu: yes,dont worry, we will clarify that somehow , I am sure :-)
(4:54:22 PM) liheng: That all for me
(4:55:21 PM) mhu: okay, I also dont have more; and I now have a regular meeting at 11:00 Hamburg time (that is in 5 min); so finishing in time is fine with me.
(4:55:58 PM) liheng: Okay,bye
(4:56:05 PM) liheng: see you next week
(4:57:13 PM) mhu: yes, see you next week; bye all
(4:57:18 PM) kuangl: bye
(4:57:19 PM) yugq: bye
(4:57:41 PM) guoys: bye