

![]() | 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: |
62 messages in org.codehaus.groovy.devRe: [groovy-dev] Groovy performance: ...| From | Sent On | Attachments |
|---|---|---|
| Alex Tkachman | Feb 19, 2008 2:09 am | |
| Steven Devijver | Feb 19, 2008 2:37 am | |
| Alexandru Popescu ☀ | Feb 19, 2008 2:57 am | |
| Alex Tkachman | Feb 19, 2008 3:03 am | |
| Patric Bechtel | Feb 19, 2008 3:12 am | |
| Guillaume Laforge | Feb 19, 2008 3:25 am | |
| Guillaume Laforge | Feb 19, 2008 3:26 am | |
| Patric Bechtel | Feb 19, 2008 5:05 am | |
| Gavin Grover | Feb 19, 2008 5:51 am | |
| Steven Devijver | Feb 19, 2008 5:52 am | |
| Guillaume Laforge | Feb 19, 2008 5:54 am | |
| Tom Nichols | Feb 19, 2008 6:26 am | |
| Alex Tkachman | Feb 19, 2008 6:28 am | |
| Guillaume Laforge | Feb 19, 2008 6:35 am | |
| Tom Nichols | Feb 19, 2008 7:03 am | |
| Guillaume Laforge | Feb 19, 2008 7:38 am | |
| Chanwit Kaewkasi | Feb 19, 2008 7:52 am | |
| Charles Oliver Nutter | Feb 19, 2008 8:49 am | |
| Steven Devijver | Feb 19, 2008 10:03 am | |
| Charles Oliver Nutter | Feb 19, 2008 11:38 am | |
| Steven Devijver | Feb 19, 2008 12:11 pm | |
| Alex Tkachman | Feb 19, 2008 12:39 pm | |
| Alex Tkachman | Feb 19, 2008 12:48 pm | |
| tugwilson | Feb 19, 2008 1:36 pm | |
| Alex Tkachman | Feb 19, 2008 8:51 pm | |
| Guillaume Laforge | Feb 20, 2008 2:10 am | |
| Jochen Theodorou | Feb 20, 2008 9:46 am | |
| Martin C. Martin | Feb 20, 2008 5:25 pm | |
| Guillaume Laforge | Feb 21, 2008 1:35 am | |
| Tom Nichols | Feb 21, 2008 4:15 am | |
| Martin C. Martin | Feb 21, 2008 5:44 am | |
| Tom Nichols | Feb 21, 2008 6:22 am | |
| Smith, Jason, CTR, OASD(HA)/TMA | Feb 21, 2008 6:34 am | |
| Martin C. Martin | Feb 21, 2008 6:43 am | |
| Guillaume Laforge | Feb 21, 2008 6:48 am | |
| Guillaume Laforge | Feb 21, 2008 7:04 am | |
| Smith, Jason, CTR, OASD(HA)/TMA | Feb 21, 2008 7:18 am | |
| Charles Oliver Nutter | Feb 21, 2008 7:38 am | |
| Guillaume Laforge | Feb 21, 2008 7:42 am | |
| Martin C. Martin | Feb 21, 2008 8:36 am | |
| Martin C. Martin | Feb 21, 2008 8:48 am | |
| Pascal DeMilly | Feb 21, 2008 5:35 pm | |
| Gavin Grover | Feb 21, 2008 6:21 pm | |
| Jochen Theodorou | Feb 22, 2008 4:31 am | |
| Tom Nichols | Feb 22, 2008 4:49 am | |
| Charles Oliver Nutter | Feb 22, 2008 11:43 pm | |
| Guillaume Laforge | Feb 23, 2008 12:28 am | |
| Martin C. Martin | Feb 23, 2008 3:51 am | |
| Jochen Theodorou | Feb 23, 2008 2:49 pm | |
| Jochen Theodorou | Feb 23, 2008 2:53 pm | |
| Charles Oliver Nutter | Feb 24, 2008 2:01 am | |
| Martin C. Martin | Feb 24, 2008 3:56 am | |
| Martin C. Martin | Feb 24, 2008 4:11 am | |
| Charles Oliver Nutter | Feb 24, 2008 5:12 am | |
| Jochen Theodorou | Feb 24, 2008 3:17 pm | |
| Jochen Theodorou | Feb 24, 2008 3:31 pm | |
| Alexandru Popescu ☀ | Feb 24, 2008 3:36 pm | |
| Martin C. Martin | Feb 26, 2008 2:20 pm | |
| Martin C. Martin | Feb 26, 2008 3:15 pm | |
| Jochen Theodorou | Feb 27, 2008 2:38 am | |
| Jochen Theodorou | Feb 27, 2008 3:03 am | |
| Martin C. Martin | Mar 2, 2008 5:21 pm |

![]() | 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] Groovy performance: what to do | Actions... |
|---|---|---|
| From: | Guillaume Laforge (glaf...@gmail.com) | |
| Date: | Feb 19, 2008 7:38:10 am | |
| List: | org.codehaus.groovy.dev | |
On Tue, Feb 19, 2008 at 4:03 PM, Tom Nichols <tmni...@gmail.com> wrote:
On Feb 19, 2008 9:35 AM, Guillaume Laforge <glaf...@gmail.com> wrote:
The problem with this approach is that it'd be like focusing on the short term and not the longer term, despite the facts that: - it's so easy to use Java when really needed
But it's easier _not_ to use Java, and breaking out pieces for performance reasons can quickly lead to bad encapsulation and OO design.
Not necessarily. And on the contrary, whether you are using inheritance or delegation, it's very clean OO design.
- it wouldn't be as fast as raw Java anyway
Of course not just as fast, but "close enough" for the sake of such a convenience.
When performance really matter, and you're hitting a bottleneck in your application, you'd better be using Java for those 50 lines of code that need a boost, instead of just being happy with half the performance of raw Java.
- the code base would become littered with this annotation all over the place for no sane reason (remember the ugly @Property all over the place?)
Maybe _my_ codebase. But then that's what annotations are for. I don't consider it litter; it's metadata, used judiciously where necessary. And the current solution of "break out into Java where needed means my codebase from a file perspective is littered with Java files, so I have to keep switching to other files to see a complete picture of what is going on.
I guess it's a question of taste, and habits. Why would we care about seamless Java integration if it was not to integrate Groovy and Java together. Use the right tool for the job, Groovy is not a Java replacement.
I wouldn't ask such annotations to be put in the core Groovy libs. But let _me_ use them if I want to. Obviously @Property wasn't necessary because a sensible convention could be used instead. I don't think this is comparable and wouldn't be used nearly as often.
It's so difficult to know for sure who's right, and what would be the fate of this annotation. For the record, the @Property initially looked like a nice idea, which in the longer term seemed just stupid :-)
- having such quick wins in place wouldn't force us to think about a better underlying architecture, preventing Groovy from really scaling upward any day soon
Nobody is asking you not to make "dynamic Groovy" faster. The two aren't exclusive and nobody is saying "just do this and ignore the real issue." If it were a matter of manpower and this would take too much effort then fine, you have to concentrate on the long term. But it sounds like there are other people who want to do this.
I would say this is a valid point _if_ dynamic code could become as fast as the statically annotated equivalent. Because then the annotation would be obsolete. But I think even given all of the bytecode generation and callsite caching enhancements that have been discussed, this annotation would still give better performance, no?
Dynamic bytecode generation or call site caching are good techniques considering the current architecture of Groovy. But other work in the field indicates that with a carefully designed MOP, such techniques are not necessary to gain good raw performance comparable to Java, making other enhancements like this annotation obsolete anyway. Furthermore, as the work on JSR-292 (aka invokedynamic) continues, it is highly likely that the situation will improve drastically as the JVM is adapted to work well with dynamic languges.
-- Guillaume Laforge Groovy Project Manager G2One, Inc. Vice-President Technology http://www.g2one.com
--------------------------------------------------------------------- To unsubscribe from this list, please visit:







