

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
31 messages in org.codehaus.groovy.devRe: [groovy-dev] as usual on performa...| From | Sent On | Attachments |
|---|---|---|
| Alex Tkachman | Feb 27, 2008 5:38 am | |
| Guillaume Laforge | Feb 27, 2008 5:47 am | |
| Alex Tkachman | Feb 27, 2008 6:01 am | |
| Chanwit Kaewkasi | Feb 27, 2008 6:21 am | |
| Martin C. Martin | Feb 27, 2008 6:27 am | |
| Jochen Theodorou | Feb 27, 2008 6:32 am | |
| Jochen Theodorou | Feb 27, 2008 6:33 am | |
| tugwilson | Feb 27, 2008 6:55 am | |
| Chanwit Kaewkasi | Feb 27, 2008 7:15 am | |
| Chanwit Kaewkasi | Feb 27, 2008 8:01 am | |
| Jochen Theodorou | Feb 27, 2008 8:28 am | |
| tugwilson | Feb 27, 2008 9:00 am | |
| tugwilson | Feb 27, 2008 9:55 am | |
| Chanwit Kaewkasi | Feb 27, 2008 11:27 am | |
| Chanwit Kaewkasi | Feb 27, 2008 11:31 am | |
| Jochen Theodorou | Feb 27, 2008 11:36 am | |
| Alex Tkachman | Feb 27, 2008 11:58 am | |
| Martin C. Martin | Feb 27, 2008 12:18 pm | |
| Jochen Theodorou | Feb 27, 2008 12:37 pm | |
| Jochen Theodorou | Feb 27, 2008 12:45 pm | |
| tugwilson | Feb 27, 2008 12:48 pm | |
| tugwilson | Feb 27, 2008 12:51 pm | |
| Martin C. Martin | Feb 27, 2008 1:27 pm | |
| Alex Tkachman | Feb 27, 2008 1:48 pm | |
| tugwilson | Feb 27, 2008 2:14 pm | |
| Jochen Theodorou | Feb 27, 2008 5:09 pm | |
| Alexandru Popescu ☀ | Feb 27, 2008 5:38 pm | |
| Charles Oliver Nutter | Feb 28, 2008 12:20 am | |
| Jochen Theodorou | Feb 28, 2008 1:33 am | |
| Alexandru Popescu ☀ | Feb 28, 2008 2:56 am | |
| tugwilson | Feb 28, 2008 3:29 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [groovy-dev] as usual on performance - operations on primitives | Actions... |
|---|---|---|
| From: | Chanwit Kaewkasi (chan...@gmail.com) | |
| Date: | Feb 27, 2008 11:27:54 am | |
| List: | org.codehaus.groovy.dev | |
So you mean a custom JIT, no the JIT of the JVM.
Yes, sorry that I didn't mention it clearly.
you can get that knowledge by a flow analysis I think.
If you meant a static flow analysis, I don't think it's enough. Groovy is a dynamic language, so we need to do something at runtime.
generate static code and add a check. Something like (pseudocode):
Object a,b; if (Integer#plus(Integer) is default) { int b' = 10 int a' = b'+2 b = new Integer(b') a = new Integer(a') } else {
Class class1 = org.codehaus.groovy.trace.Demo.class;
b = new Integer(10);
a = ScriptBytecodeAdapter.invokeMethodN(class1, b, "plus", new Object[] { new Integer(2) }); }
Yes, this is what I suppose to do. But again, I think the generated code is needed to determine at runtime. For example, when the value of 'a' overflows the range of integer, so its type won't be Integer anymore (eg. it becomes BigDecimal). The case like this cannot detected with any bytecode analysis.
which of course would be much faster, than what we currently have.But I am not sure there is a way for a JIT we write to get all these informations... like what method will be called in the end.. for 2.0I plan to let the MetaClass return the method it will call instead of calling the method directly. In that a case JIT would have an much more easy job here.
I'm still reading at the moment to find a good way of profiling. One idea is what if we think of an MOP layer as an interpreter. It will slow things down at the beginning, but after we got all information to recompile the code, it would be fast.
Cheers,
Chanwit
--------------------------------------------------------------------- To unsubscribe from this list, please visit:







