Skip to content

Conversation

@odd
Copy link
Contributor

@odd odd commented May 7, 2019

This relates to the discussion in PR #7146 starting from #7146 (comment).

@mdedetrich
Copy link
Contributor

mdedetrich commented May 7, 2019

Pinging @Ichoran and @joshlemer here. Echoing comments from earlier, specifically

On the other hand, I'm a little surprised at the results for VectorMap, so it may be that VectorMap can be sped up substantially. In that case, if you ask me which architecture seems more promising, Vector + Hash vs. IntHash + Hash, I'd think the former. While Vector isn't great at removals, it's also not that common for immutable collections to have a lot of single-element removals, and in other cases the Vector architecture ought to be better than the custom IntMap. Otherwise, why don't we throw away Vector and replace it with an IntMap?

Don't have an issue with changing the default however there are some suspicious results about the benchmarks (furthermore there are PR's which are meant to either directly or indirectly improve the performance of VectorMap). Like @Ichoran said, these results are by conclusion saying that Vector is a pointless collection and we should instead be using IntMap which would be raising quite a few eyebrows.

In any case I agree with the 2.13.1 milestone, will give us time to iron out what is going on here.

@joshlemer
Copy link
Contributor

I agree it seems best to get to the bottom of how it is that Vectors are slower than IntMaps before counting TreeSeqMaps as faster. Good thing we'll have plenty of time to figure it out.

@diesalbla diesalbla added the library:collections PRs involving changes to the standard collection library label May 10, 2019
@szeiger
Copy link
Contributor

szeiger commented Aug 29, 2019

Good thing we'll have plenty of time to figure it out.

Time passes quickly when a release is coming up. I don't think we should do it in a point release anyway. Switching to a different default implementation with different performance characteristics is too big a change for 2.13.x.

@szeiger szeiger modified the milestones: 2.13.1, 2.14.0-M1 Sep 3, 2019
@SethTisue
Copy link
Member

SethTisue commented Feb 8, 2020

for PRs that are unable to progress in 2.13.x (e.g. because standard library bincompat is frozen until after Scala 3.0), we are closing them but leaving them on the 2.14.0-M1 milestone so we can find them later

for context on this, see scala/scala-dev#661

@SethTisue SethTisue closed this Feb 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

library:collections PRs involving changes to the standard collection library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants