Comments (3)
Implementing Map<Long,Long>
would require constant wrapping/unwrapping. Eclipse collections targets scenarios that are garbage and memory sensitive. Constant wrapping/unwrapping can in some situations be even worse than just using fat Long
objects.
Said differently, from the perspective of memory/garbage, if the code around this collection is using Longs, that's a serious code smell and we don't want to perpetuate that.
Additionally, Long
can be null, which would require even more weird handling.
Handling memory/garbage with care is not a matter of "plugging" in a collection. It's a way of writing code that's literally more primitive.
from eclipse-collections.
from eclipse-collections.
Ok that makes absolute sense. I use Kotlin, and from this perspective, it's a little bit weird :
class LongReturner {
fun getLong(): Long = -1L
}
Here, looking at the bytecode, no boxing will occur. But :
interface Foo<T> {
fun getLong (): T
}
class LongReturner: Foo<Long> {
override fun getLong(): Long = -1L
}
Here boxing occur now.
Thank you for your quick replies anyway 😄
from eclipse-collections.
Related Issues (20)
- JavaDoc: Factory classes description confusing about of() and with() HOT 3
- MapIterate JavaDoc: unclear description HOT 3
- README: Please clarify "Why Eclipse Collections?" (comparison regarding fluent APIs, etc) HOT 10
- Predicate[2]: accept method unspecified
- Predicate JavaDoc claims they are lambdas or closures HOT 20
- Reference Guide: Code blocks chapter introduction describes code blocks as single-abstract-method objects (and more)
- Reference Guide: Code blocks chapter calls Function a code block
- Reference Guide: Iteration patterns chapter has multiple issues in "Select and Reject patterns" section
- Update Eclipse Tycho and replace EBR dependency with Orbit HOT 28
- Add a bill of materials (BOM) POM HOT 2
- MultiReaderFastList returning incorrect types for select, selectWith, reject, rejectWith HOT 1
- Unexpected behaviour in updateValue() with empty key HOT 2
- Put AbstractImmutablePrimitiveSetTestCase template in the right folder
- Update the copyrights HOT 1
- Bug in UnifiedMap? HOT 1
- eclipse-collections v12 JDK compatibility support HOT 4
- Interval types do not support reverse ranges for certain helper methods HOT 2
- Add groupByEachUniqueKey to RichIterable
- [OSGi] Opting in to Service Loader Mediator HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eclipse-collections.