[Design of Messaging on JBoss (Messaging/JBoss)] - Re: AIO only waiting for completions on add
by clebert.suconic@jboss.com
"timfox" wrote : A few points though on your last commit.
| 1) Several files were missing copyright headers and class headers showing authorship. All files must have both of these before committing! I shouldn't have to keep saying this.. ;)
|
| 2) Lots of cosmetic changes to files, code style, indentation, putting private public, static methods in their own sections of the file. Adding final to attributes and parameters. Making inner classes static. Making inner classes private. Making members private. Various other minor coding issues like the above.
|
I will change my IDE properties
"timfox" wrote :
| 3) Remoting timeout has changed from seconds to milliseconds? I agree we should change from s to ms, but has this been changed everywhere?
|
I shouldn't have changed this.
"timfox" wrote :
| 4) TypedProperties - the encodeSize() method traverses the entire map every time it is called. I don't like this for performance reasons. Instead the size should be maintained internally.
|
This is faster already than creating a Buffer and fill the buffer to guess the size ;-) We can cache the value though.
"timfox" wrote :
| 5) Min files was changed to 2, and file size changed from 10MB to 100 MB. 10MB was originally chosen since it seems a reasonable size to fit on a single cylinder of a disk. This allows the entire file to be accessed without moving the head. When I changed it back to 10MB and 10 files, none of the jms tests run any more reporting they can't initialise AIO (or something like that).
|
I shouldn't have committed this change. I will revert it if you haven't done it already.
Apart from that, looking good! :)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150335#4150335
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4150335
17 years, 11 months
[Design of AOP on JBoss (Aspects/JBoss)] - Re: Optimizing Pointcut Matching
by kabir.khan@jboss.com
We discussed something interesting in Orlando that Flavia brought up. When adding a binding, why are we cleaning out ALL the chains for the affected classadvisors and then iterating over bindings for each joinpoint for that class?
If we are adding a binding, we could just do the matching for that binding and see if it matches anything within the affected advisors, add it to the end of the interceptor chain if it does, and then sort according to precedence. That will be a lot faster since we don't have to match every joinpoint against every pointcut in the system whenever we add/remove something.
We decided not to do this in Orlando, since the joinpoint graph would handle this. Since the joinpoint graph is not ready yet, I think we should go forward with this solution. We will need to do some additional housekeeping to see which interceptors in the advisor's JoinPointInfo's belong to which AspectBindings, so that we can remove bindings easily without having to recalculate everything.
I think that only time we should need to recalculate everything is if we add annotation overrides or metadata to an advisor, since then it might match more pointcuts
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150316#4150316
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4150316
17 years, 11 months
[Design of AOP on JBoss (Aspects/JBoss)] - Re: Optimizing Pointcut Matching
by kabir.khan@jboss.com
anonymous wrote :
| - how fine grained we should classify the pointcuts?
|
I think if we are going to do this, we should be able to classify the pointcuts fully. The expression tree from javacc when we parse a Pointcut from the string representation already contains the full structure, so I guess it is just a case of creating another visitor to classify the pointcut when we add the pointcut to the AM. We should split the "execution" classification into whether a method or constructor is called as well.
anonymous wrote :
| - should we create a special pointcutcollection class (as flavia suggested) that contain the pointcuts and with utilities to fetch them as needed? (basically we should avoid to clutter up AM anymore than it already is)
|
Sounds like a good idea, although we need to keep the existing API since we have gone CR. The old methods could just wrap the new structures.
If we add a new binding containing an execution pointcut for methods, then as a result of that the affected advisors should only rebuild their method chains, no point in rebuilding constructors, fields etc.
On that note, if adding a field read/write pointcut, we should ignore all Advisors that cannot have advised fields, such as the ClassContainer and ClassProxyContainer.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150315#4150315
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4150315
17 years, 11 months
[Design of AOP on JBoss (Aspects/JBoss)] - Optimizing Pointcut Matching
by stale.pedersen@jboss.org
with the fix for JBAOP-433 flavia had some ideas for optimizing the pointcut matching;
suggestion for optimization is to classify pointcuts.
- "execution(blahblahblah)" would be classified as Execution
- "field(...)", classified as field read and field write
- "call(...) OR execution(..)", classified as call and as execution
this classification would allow the Advisor to get only the relevant pointcut expressions during an interceptor chain build process.
a few questions:
- how fine grained we should classify the pointcuts?
- could this change improve performance in other areas of aop other than rebuilding the stacks?
- should we create a special pointcutcollection class (as flavia suggested) that contain the pointcuts and with utilities to fetch them as needed? (basically we should avoid to clutter up AM anymore than it already is)
- is there any gain with refactoring out everything thats involving pointcuts from AM?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4150302#4150302
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4150302
17 years, 11 months