[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-09 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14271043#comment-14271043
 ] 

Jake Farrell commented on THRIFT-1854:
--

[~vlovich] we appreciate the work put into this and your efforts to help 
contribute back, the concerns are around how we can make this more generic so 
other libraries similar to trove can be used and we are not adding direct trove 
support or other similar library into the compiler which may or may not have 
non-compatible licenses

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-08 Thread Vitali Lovich (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270571#comment-14270571
 ] 

Vitali Lovich commented on THRIFT-1854:
---

That doesn't feel like a compelling argument.

1: the generated code doesn't somehow cause thrift to use LGPL code.
2: the licensing issue was not raised at all until it turned out there are 
technical reasons why other mechanisms are currently insufficient for this.

It kind of feels like perhaps there's a gut reaction against this change so it 
really doesn't matter what kind of change I would/could to enable such a 
feature.

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-08 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269456#comment-14269456
 ] 

Jake Farrell commented on THRIFT-1854:
--

The sorted container uses common java.util code where this relies on a third 
party dependency which is not compatible with ASF licensing

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-07 Thread Vitali Lovich (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14268626#comment-14268626
 ] 

Vitali Lovich commented on THRIFT-1854:
---

I also don't see why this change is so controversial given how little 
discussion THRIFT-1630 generated which added the sorted_container.

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-07 Thread Vitali Lovich (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14268624#comment-14268624
 ] 

Vitali Lovich commented on THRIFT-1854:
---

It wouldn't make sense to bundle trove into a release.  Let the end-user make 
that decision.

What would a generic implementation look like?  I've heard this multiple times 
in this thread but there hasn't been any kind of proposal put forward on what 
such a workable solution would look like.  I'm not a full-time thrift developer 
so I'm not going to have the best set of information to inform any kind of 
design.

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-07 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14268335#comment-14268335
 ] 

Jake Farrell commented on THRIFT-1854:
--

I'm still not in favor of committing this as it stands and would like to see a 
more generic implementation that did not pin it to just trove support. Also 
trove is LGPL which we would not be able to include [1] in any releases 

[1]: http://www.apache.org/legal/resolved.html#category-x 

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-07 Thread Jens Geyer (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14268270#comment-14268270
 ] 

Jens Geyer commented on THRIFT-1854:


How can this made available in a language-agnostic way? I mean, we support 
something around 20 languages now and striving for a consistent way throughout 
all of them seems important to me. Otherwise, soner or later will will end up 
with lots of different implementations. 

Without a doubt having a handy, flexible tool is very valuable. On the other 
hand, [Simplicity, Transparency, Consistency and 
Performance|https://thrift.apache.org/about] are valuable goods too. We should 
keep that in mind, IMHO.


> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-07 Thread Vitali Lovich (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14268130#comment-14268130
 ] 

Vitali Lovich commented on THRIFT-1854:
---

Do you have any thoughts on the design?  There's two ways I can see this being 
done:

1: Modify the lexer & parser to support custom type generation.  Add templating 
support & have each language generator define what the injection points are & 
what variables are available for substitution.
2: Embed lua into the compiler & let it load lua files for custom types that 
define how to generate that code.

I like option #2 more as it seems like it would be simpler (no changes to the 
parsing/lexing) & more flexible.  Thoughts?

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-07 Thread Roger Meier (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14268098#comment-14268098
 ] 

Roger Meier commented on THRIFT-1854:
-

Yes, annotations as a generic approach would be great. Handle options in a more 
generic approach is another need on the compiler, see THRIFT-2790

I guess we should commit this and I would appriciate if Vitali could help us 
making the annotation features more generic.

-roger
;-r


> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-07 Thread Vitali Lovich (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14268026#comment-14268026
 ] 

Vitali Lovich commented on THRIFT-1854:
---

I agree completely with you.  My point was that the current mechanism is 
insufficient: there is no way to implement Trove at the moment with the current 
annotation mechanism.  Given that sorted_containers are in already & they 
actually *could* be implemented via annotations, do you have an objection to 
putting in trove until a more generic mechanism is implemented?  In fact, the 
trove implementation could inform the requirements of a more generic solution: 
it'll point out what the injection points need to be.

With respect to your float example, you mean in-memory storage is cut in half, 
right?  Transfer size should be unaffected since thrift only supports 
transporting doubles.

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-06 Thread Randy Abernethy (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14267303#comment-14267303
 ] 

Randy Abernethy commented on THRIFT-1854:
-

Hey [~vlovich],

I agree that the language generator needs to create specialized code for type 
substitution (the float example is simply an example folks use to cut transfer 
sizes for doubles in half). I am not suggesting that you change your 
implementation, or that new types should be swapped in lexically. I think your 
implementation looks great as it is. 

My concern is only related to the compiler switch as the trigger for the 
implementation. If every language needs a switch for each new type substitution 
we are going to have switch sprawl and switch conflicts. What if I want to use 
Trove in one place and something else in another? What about specialized 
collections for Python and Ruby? What happens when I use "-gen 
java:sorted_containers" and the trove switch? It is going to get messy. 

Annotations are self documenting, informative to the user and get checked in 
with your IDL, providing a convenient versioned record of optimizations made. 
At every use the compiler can easily and generically throw an error if there is 
more than one type annotation for a particular language (a grammar issue not a 
generator issue). 

Using the annotation: (_lang_.type = "some new type") defines one pattern which 
works for all languages, and, of particular importance, it is already in use. 
You do certainly trade the globalness of a command line switch when you go with 
annotations but, on balance, I think this is almost always upside in practice.

-Randy

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-06 Thread Vitali Lovich (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14267220#comment-14267220
 ] 

Vitali Lovich commented on THRIFT-1854:
---

Hey [~codesf].  I don't believe the recommended approach works, at least for 
trove.

The trove interface is different from Java since it's dealing with unboxed 
types.  Iteration (for serialization) is different from regular Java 
collections since none of those collections implement (nor can they) Iterable, 
so they can't use regular for-loops.
Additionally, getting the key/value from an iterator is different for Trove - 
it's .key()/.value() instead of .getKey()/.getValue().

Moreover, the suggested TFloatList wouldn't compile since a double cannot be 
assigned to a float.

Finally, annotations are great for customization of individual fields.  
However, it does make sense to have command-line switches so that you can 
specify a default implementation without needing to do custom overrides.

That being said, I think there does need to be a more generic mechanism to 
support this kind of thing.
Something like:

type "java" TroveDoubleList {
api = "gnu.trove.list.TDoubleList";
internal = "gnu.trove.list.array.TDoubleArrayList";
loopStart = "for (int i_$(iterator) = 0; i < $(container).size(); ++i)";
accessor = "$(container).getQuick(i_$(iterator))";
}

Then you can add an annotation like:
(java.type = TroveDoubleList)

However, nothing like this exists, so this feels OK as a compile-time switch.

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-Add-support-for-trove-option-to-Java-generator.patch, 
> 0002-adding-support-to-use-Trove-lists-instead-of-native-.patch, 
> 0003-Implement-trove-support-for-sets.patch, 
> 0004-Implement-trove-support-for-maps.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-06 Thread Randy Abernethy (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14267090#comment-14267090
 ] 

Randy Abernethy commented on THRIFT-1854:
-

Hey [~roger.meier],

A little late in the game perhaps, but my preference for all language specific 
type substitution would be to use IDL annotations (as CPP does for base types) 
not compiler switches (as Java does now) and not custom IDL (as CPP does now 
for collections). My bias is based on the following:
- consistency: annotations provide a single clean way to add language generator 
specific instructions (IDL being reserved for pure cross language abstractions)
- flexibility: using annotations in IDL you can use different implementations 
selectively (a compiler switch applies to the entire compiled IDL)
- open endedness: annotation types accept any string, allowing new 
implementation types to be added without adding new IDL annotation definitions 
or compiler switches

Presently we have custom IDL (e.g. 1: map cpp_type "std::unordered_map" ), command line switches (e.g. -gen 
java:sorted_containers) and annotations (e.g. 1: i32 (cpp.type = "long") 
counter) which is a bit confusing.

I would much rather see Thrift move to using annotations universally for 
implementation specification:
{code:title=Annotations|borderStyle=solid}

struct  anno  {
  1: i32 (cpp.type = "long") counter
  2: list (cpp.type = "std::vector", java.type = 
"gnu.trove.list.TFloatList") values
  3: list (cpp.type = "std::vector", java.type = 
"gnu.trove.list.TFloatList") values
} (final="true")

{code}

The annotation parser already supports the above syntax.

Thoughts?

-Randy

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-adding-support-to-use-Trove-0.9-lists-for-lists.patch, 
> 0001-adding-support-to-use-Trove-0.9.2-lists-for-lists.patch, 
> 0001-adding-support-to-use-Trove-0.9.2-lists-for-lists.patch, 
> 0001-adding-support-to-use-Trove-lists-for-lists.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-06 Thread Roger Meier (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14267021#comment-14267021
 ] 

Roger Meier commented on THRIFT-1854:
-

I'm fine with this as long as it is only a compiler option.
The only thing I would change befor committing this is:
{noformat}
-"trove_lists: Use Trove array lists where possible instead of Java 
native collections.\n"
+"trove_lists: Use GNU Trove(net.sf.trove4j) array lists where possible 
instead of Java native collections.\n"
{noformat}

any concerncs?



> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-adding-support-to-use-Trove-0.9-lists-for-lists.patch, 
> 0001-adding-support-to-use-Trove-0.9.2-lists-for-lists.patch, 
> 0001-adding-support-to-use-Trove-lists-for-lists.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2015-01-05 Thread Vitali Lovich (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14265658#comment-14265658
 ] 

Vitali Lovich commented on THRIFT-1854:
---

Ping.

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-adding-support-to-use-Trove-0.9-lists-for-lists.patch, 
> 0001-adding-support-to-use-Trove-lists-for-lists.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2013-04-26 Thread Vitali Lovich (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13642991#comment-13642991
 ] 

Vitali Lovich commented on THRIFT-1854:
---

Is there an alternate suggestion if adding trove as an optional dependency is 
not an option?

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-adding-support-to-use-Trove-0.9-lists-for-lists.patch, 
> 0001-adding-support-to-use-Trove-lists-for-lists.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2013-03-22 Thread Vitali Lovich (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13611132#comment-13611132
 ] 

Vitali Lovich commented on THRIFT-1854:
---

It's optional & Java doesn't have any built-in collections specialized for 
primitives.  Guava plays a different role IMHO.  Guava is largely stylistic 
enhancements whereas Trove provides different functionality (faster code, less 
memory overhead).  Apache commons is already used when hash code is enabled; 
this is along the same lines (trove is only a dependency if you enable it 
explicitly) but provides even more utility than the HashCodeBuilder dependency.

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-adding-support-to-use-Trove-0.9-lists-for-lists.patch, 
> 0001-adding-support-to-use-Trove-lists-for-lists.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2013-03-22 Thread Jake Farrell (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13611040#comment-13611040
 ] 

Jake Farrell commented on THRIFT-1854:
--

We have tried to keep the core java library as lean and dependency free as 
possible to allow for the library to be able to be plugged into any application 
easily. Guava was considered and not used due to this reason

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-adding-support-to-use-Trove-0.9-lists-for-lists.patch, 
> 0001-adding-support-to-use-Trove-lists-for-lists.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (THRIFT-1854) trove support for lists of primitives

2013-03-22 Thread Roger Meier (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-1854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13611030#comment-13611030
 ] 

Roger Meier commented on THRIFT-1854:
-

Is there an alternative to gnu.trove.list?
I'm a big fan of minimal dependencies...

> trove support for lists of primitives
> -
>
> Key: THRIFT-1854
> URL: https://issues.apache.org/jira/browse/THRIFT-1854
> Project: Thrift
>  Issue Type: New Feature
>  Components: Java - Compiler
>Reporter: Vitali Lovich
> Attachments: 
> 0001-adding-support-to-use-Trove-0.9-lists-for-lists.patch, 
> 0001-adding-support-to-use-Trove-lists-for-lists.patch
>
>
> When dealing with large collections of primitive types, there can be 
> significant memory (i.e. using arrays of objects instead of arrays of 
> primitives) & runtime overhead (autoboxing/unboxing) using the default 
> collections.  Utilizing trove can significantly improve things.  ideally 
> support would be added for sets & maps, but as a first pass lists would be 
> great.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira