Comments (19)
Any interest in shipping #352 in 1.1.0
? Anything more I can do to help?
from swift-collections.
@lorentey Sounds great! Are we targeting Q1 hopefully to ship? Do we have any RFCs up with the WIP This is a great data structure… thanks for shipping this!benchmarks
for TreeSet
and TreeDictionary
to show the O(log(n))
copy-on-write mutations?
Ahh… these were the benchmarks
before ShareableSet
became TreeSet
?
from swift-collections.
Awesome; thank you for shipping the new release!
from swift-collections.
Hmm, don't think they shipped it yet.
from swift-collections.
@lorentey what can we do to help release 1.1.0
? A lot of folks have swift-collections
as a dependency and we'd love to bump it up to 1.1.0
.
from swift-collections.
1.1.0 is out: https://github.com/apple/swift-collections/releases/tag/1.1.0
from swift-collections.
@lorentey thank you!
from swift-collections.
Release preparation work is progressing over in #355, with full prerelease testing starting as soon as I run out of things on my checklist. I expect testing will take some amount of iteration as it tends to uncover random issues on specific compilers/platforms. The 1.1.0 tag will drop soon after testing is complete. I don't expect there will be an extended preview period on the forum, but I may post a candidate commit a day or two in advance.
(I think it won't be long now, but I can't promise any particular release date -- it depends on how many problems testing will uncover.)
from swift-collections.
Tests have passed on every supported Swift version, which is a really good sign. (Architecture-specific problems may still be lurking, but working around language discrepancies was historically more difficult.)
from swift-collections.
I'm running the Intel tests on macOS under Rosetta 2. I'll defer x86_64 tests on Linux for tomorrow, to run them on actual Intel hardware.
Once the current test jobs complete, I think I'll partially cherry pick the doc fixes in #356 to release/1.1 -- it'll be a super late change, but the risks are really low. (I will not restart the testing process, beyond simply doing a quick single-platform pass verifying that the change does not introduce any surprise regressions.)
Beyond these, the last major item left is to run tests on arm64_32, which is (IIRC) the last remaining architecture actively supported by Swift that has 32-bit pointers.
from swift-collections.
arm64_32 tests completed successfully -- things are still on track.
from swift-collections.
Any interest in shipping #352 in 1.1.0? Anything more I can do to help?
I'll add this one to the post-test batch, too!
from swift-collections.
94cf62b is the current release candidate commit.
I am still waiting for some tests to complete, but I see no problems detected so far.
The next item on my list is going to be to draft 1.1.0 release notes.
from swift-collections.
Candidate commit:
Diff: 1.0.6...94cf62b
I'll skip Windows testing; I trust that the CMake build results on macOS & Linux indicate that Windows will pass too.
Testing progress:
macOS/AS
- macOS 14, Apple Silicon, Xcode 15.2 (Swift 5.11 dev snapshot) (8e64f06)
- macOS 14, Apple Silicon, Xcode 15.2 (Swift 5.10 dev snapshot) (8e64f06)
- macOS 14, Apple Silicon, Xcode 15.2 (Swift 5.9.2) (8e64f06, 97b1949, 94cf62b)
- macOS 14, Apple Silicon, Xcode 14.3.1 (Swift 5.8.1)
- macOS 14, Apple Silicon, Xcode 14.2 (Swift 5.7.2) (8e64f06)
macOS/x86_64
- macOS 14, Intel x86_64, Xcode 15.0.1 (Swift 5.11 dev snapshot) (8e64f06)
- macOS 14, Intel x86_64, Xcode 15.0.1 (Swift 5.10 dev snapshot) (8e64f06)
- macOS 14, Intel x86_64, Xcode 15.0.1 (Swift 5.9.2) (8e64f06)
- macOS 14, Intel x86_64, Xcode 14.3.1 (Swift 5.8.1)
- macOS 14, Intel x86_64, Xcode 14.2 (Swift 5.7.2) (97b1949, 94cf62b)
Linux/Aarch64
- Ubuntu 20.04, Aarch64, Swift 5.11 dev snapshot
- Ubuntu 20.04, Aarch64, Swift 5.10 dev snapshot
- Ubuntu 20.04, Aarch64, Swift 5.9.2 (8e64f06, 94cf62b)
- Ubuntu 20.04, Aarch64, Swift 5.8.1 (8e64f06)
- Ubuntu 20.04, Aarch64, Swift 5.7.3 (8e64f06, 94cf62b)
Linux/x86_64
- Ubuntu 20.04, x86_64, Swift version 5.11-dev (LLVM 6751d2aa5dca44c, Swift 90f192abfeb5f17) (94cf62b)
- Ubuntu 20.04, x86_64, Swift version 5.10-dev (LLVM 551823b7474ea05, Swift 4cbb97c1b3dcaba) (94cf62b)
- Ubuntu 20.04, x86_64, Swift 5.9.2 (94cf62b)
- Ubuntu 20.04, x86_64, Swift 5.8.1 (97b1949, 94cf62b)
- Ubuntu 20.04, x86_64, Swift 5.7.3 (97b1949, 94cf62b)
Windows 10/x86_64
-
Windows 10, x86_64, Swift 5.11 dev snapshot -
Windows 10, x86_64, Swift 5.10 dev snapshot -
Windows 10, x86_64, Swift 5.9.2 -
Windows 10, x86_64, Swift 5.8.1 -
Windows 10, x86_64, Swift 5.7.3
(Note: I expect most of this matrix will remain untested in this tag.)
from swift-collections.
Swift 5.9.2. failed to build the project on Xcode 15.2 for the watchOS simulator, due to XCTest no longer shipping i386 binaries.
ld: warning: ignoring file .../Contents/Developer/Platforms/WatchSimulator.platform/Developer/Library/Frameworks/XCTest.framework/XC
Test, file is universal (x86_64,arm64) but does not contain the i386 architecture: .../Contents/Developer/Platforms/WatchSimulator.p
latform/Developer/Library/Frameworks/XCTest.framework/XCTest
ld: warning: Could not find or use auto-linked library 'XCTestSwiftSupport'
Undefined symbols for architecture i386:
"_$s6XCTest7XCTFail_4file4lineySS_s12StaticStringVSutF", referenced from:
_$s23_CollectionsTestSupport13expectFailure_8trapping4file4lineySSyXK_Sbs12StaticStringVSutF in _CollectionsTestSupport.o
_$s23_CollectionsTestSupport14_expectFailure__8trapping4file4lineySS_SSyXESbs12StaticStringVSutF05$s23_ab77Support14checkEquatable_6oracle10maxSamples
4file4lineySayxG_SbSi_SitXESiSgs12ij14VSutSQRzlFySnyR15GXEfU0_SSyXEfu_SiTf1ncnnn_n in _CollectionsTestSupport.o
_$s23_CollectionsTestSupport14_expectFailure__8trapping4file4lineySS_SSyXESbs12StaticStringVSutF05$s23_ab77Support14checkEquatable_6oracle10maxSamples
4file4lineySayxG_SbSi_SitXESiSgs12ij14VSutSQRzlFySnyR16GXEfU0_SSyXEfu0_S2iTf1ncnnn_n in _CollectionsTestSupport.o
_$s23_CollectionsTestSupport14_expectFailure__8trapping4file4lineySS_SSyXESbs12StaticStringVSutF05$s23_ab54Support10expectTrue__8trapping4file4lineySb
_SSyXKSbs12iJ16VSutFfA0_SSycfu_Tf1ncnnn_nTm in _CollectionsTestSupport.o
_$s23_CollectionsTestSupport14_expectFailure__8trapping4file4lineySS_SSyXESbs12StaticStringVSutF05$s23_aB60Support12MinimalIndexV17_assertCompatible4w
ithyAC_tFSSyXEfu_Tf1ncnnn_nTm in _CollectionsTestSupport.o
_$s23_CollectionsTestSupport14_expectFailure__8trapping4file4lineySS_SSyXESbs12StaticStringVSutF in _CollectionsTestSupport.o
_$s23_CollectionsTestSupport12expectThrows__8trapping4file4line_yxyKXK_SSyXKSbs12StaticStringVSuys5Error_pXEtlF in _CollectionsTestSupport.o
...
"_OBJC_CLASS_$_XCTestCase", referenced from:
_$s23_CollectionsTestSupport010CollectionB4CaseCN in _CollectionsTestSupport.o
"_OBJC_METACLASS_$_XCTestCase", referenced from:
_OBJC_METACLASS_$__TtC23_CollectionsTestSupport18CollectionTestCase in _CollectionsTestSupport.o
"__swift_FORCE_LOAD_$_XCTestSwiftSupport", referenced from:
__swift_FORCE_LOAD_$_XCTestSwiftSupport_$_RopeModuleTests in Availability.o
__swift_FORCE_LOAD_$_XCTestSwiftSupport_$_RopeModuleTests in SampleStrings.o
__swift_FORCE_LOAD_$_XCTestSwiftSupport_$_RopeModuleTests in TestBigString.o
__swift_FORCE_LOAD_$_XCTestSwiftSupport_$_RopeModuleTests in TestRope.o
__swift_FORCE_LOAD_$_XCTestSwiftSupport_$__CollectionsTestSupport in _CollectionsTestSupport.o
(maybe you meant: __swift_FORCE_LOAD_$_XCTestSwiftSupport_$_RopeModuleTests)
ld: symbol(s) not found for architecture i386
This is a problem with the generic/platform=watchOS Simulator
destination specifier; it's not new and it isn't related to this project.
from swift-collections.
A second run uncovered a trap in a benchmark case:
[20 run-benchmarks] ./Utils/run-benchmarks.sh run --max-size 128 /tmp/run-full-tests.sh.lv0rF/benchmark.results --cycles 3
Failed in 82s. See /tmp/run-full-tests.sh.lv0rF/20.run-benchmarks.log for full console output.
Array<Int> random insertions, reserving capacity
Array<Int> removeLast
Array<Int> removeFirst
(584 more)
Output file: /tmp/run-full-tests.sh.lv0rF/benchmark.results
Appending to existing data (if any) for these tasks/sizes.
Collecting data:
1.2.4...8...16...32...64...128 -- 79.3s
1./Utils/run-benchmarks.sh: line 11: 27359 Trace/BPT trap: 5 swift run --package-path "$srcroot" $flags benchmark "$@"
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 benchmark 0x10254d3a8 Swift runtime failure: Double value cannot be converted to Int because it is either infinite or NaN + 0 [inlined]
1 benchmark 0x10254d3a8 Task.measure(size:input:options:) + 936 (Task.swift:121)
2 benchmark 0x10254d274 static Tick.now.getter + 16 (Tick.swift:27) [inlined]
3 benchmark 0x10254d274 static Time.since(_:) + 16 (<compiler-generated>:37) [inlined]
4 benchmark 0x10254d274 Task.measure(size:input:options:) + 628 (Task.swift:110)
5 benchmark 0x10251ae88 _ConcreteTask.measure(size:input:options:) + 276 (AnyTask.swift:119)
6 benchmark 0x1025325e8 AnyTask.measure(size:input:options:) + 24 (AnyTask.swift:49) [inlined]
7 benchmark 0x1025325e8 specialized Benchmark.measureOneCycle(tasks:sizes:options:delegate:) + 1512 (Benchmark+RunOptions.swift:40)
8 benchmark 0x102533768 specialized Benchmark.run(options:delegate:) + 252 (Benchmark+RunOptions.swift:84)
This appears to be a problem in the benchmark environment! Huh
from swift-collections.
The line in question is
let remainingIterationEstimate =
Int((remainingDuration / averageDuration).rounded(.up))
So presumably the average duration measured as zero. This is a real issue, but it's in swift-collections-benchmark, and it doesn't need to hold up the collections release.
from swift-collections.
Ah, it's an old one: apple/swift-collections-benchmark#12
from swift-collections.
Development toolchains downloaded from swift.org do not allow building the package with xcodebuild. This is not a fault of the package, though.
from swift-collections.
Related Issues (20)
- OrderedDictionary `updateValue` autoclosure for insertion index
- Failed to resolve dependencies Dependencies could not be resolved because no versions HOT 1
- Ship Sendable annotations in 1.0.6 HOT 1
- `Heap` documentation does not explain what a heap is
- `Heap.insert(contentsOf:)` is quasilinear instead of linear complexity
- OrderedSet `append(contentsOf:)` with insertion check result/results
- OrderedDictionary.values and OrderedSet Performance Problems when SwiftUI.List is paired with SwiftUI.NavigationStack HOT 6
- Ship release 1.0.6 HOT 11
- BitArray's bitwise operations should allow operating on slices HOT 2
- Version 1.1.0 fails to compile HOT 11
- Add Privacy Manifest HOT 7
- The bundle at path Payload/MyApp.app/Frameworks/_CollectionsUtilities.framework has an invalid CFBundleIdentifier '_CollectionsUtilities' HOT 13
- Incorrect calculating offset for _BTree.findAnyIndex(forKey: Key)
- [1.1] Randomized test failure on CI
- Please Add Support for Multiset HOT 1
- CMake configuration is broken on case sensitive filesystems HOT 1
- Invalid assert in Deque._ensureUnique HOT 1
- Ship release 1.1.1 HOT 2
- Ambiguous use of 'initialize(fromContentsOf:)' in UnsafeMutableBufferPointer+Extras.Slice HOT 1
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 swift-collections.