> > It's not a bug. Measuring the length of the source before allocating > the destination array is usually a big win when compared to repeatedly > growing the array's memory and copying all its elements. > -- > -Dave
Usually yes, but not in the case of lazy filter. If predicate contains anything more than a dozen CPU instructions, single-pass version is faster. We often want the predicate to have side effects, but we cannot with current implementation: the side effects will be doubled. I also wonder if it's possible to allocate array with capacity of underlying collection (before all lazy stuff) and shrink it in the end. - Anton
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
