-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to core 14 #8496
Upgrade to core 14 #8496
Conversation
0b875df
to
4db3061
Compare
a9f61dc
to
9ece953
Compare
c4ca77e
to
7d8abf2
Compare
Needs another core release to pick up the final perf regression fix before it can actually be merged, but the code changes here are now reviewable. |
db3105d
to
1fac1bf
Compare
Core 14.3.0 should be good for an actual release. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!, Just some minor questions.
Also, changes to the performance tests number of iterations is because we want to evaluate performance for bigger operations?
@@ -1557,7 +1556,7 @@ struct SectionedResultsTestDataAnyRealmValue: SectionedResultsTestData { | |||
} | |||
|
|||
static func orderedKeys(ascending: Bool) -> [String] { | |||
return ["alphanumeric", "data"] | |||
return ascending ? ["alphanumeric", "data"] : ["data", "alphanumeric"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This changes to the sorting menas this was not working before or not been used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sort order used to be that the values were ordered ["alphanumeric", "data", "data", "alphanumeric"]. The order of the sections is determined by the order of the values and not by sorting the keys, so it ended up being the same regardless of what order the objects were sorted.
for _ in 0..<500 { | ||
_ = realm.objects(ModernSwiftStringProjection.self) | ||
} | ||
measure(times: 5) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason to reduce the number of iterations to measure?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test previously wasn't actually doing much of anything and the changed tests is doing a lot more.
} | ||
[realm commitWriteTransaction]; | ||
|
||
[self startMeasuring]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are we measuring exactly on this performance test?, The time committing changes to the 5 objects?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The time to produce the change notification, which will stop the run loop once it's delivered.
// coercion and checking both | ||
if constexpr (is_any_v<C, Columns<Mixed>, Columns<Lst<Mixed>>, Columns<Set<Mixed>>, Columns<Dictionary>>) { | ||
Mixed m = value; | ||
if (!m.is_null()) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With this changes are we replacing some core removed implementation?, to maintain compatibility. Does that mean this is no longer needed, and we can remove this in major a version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, this can go away with a major version bump. I'll add a comment noting that.
* master: RCOCOA-2305: Update base url to point to services.cloud.mongodb.com (#8537) Update docs URL (#8538) RCOCOA-2310: Fix a crash when receiving 401/403 when opening a watch stream (#8536) Add core version to build-binaries workflow (#8525) Add an empty changelog section Upgrade to core 14.4.1 (#8526) Release v10.49.0 Upgrade to core 14 (#8496) RCOCOA-2308: Add GHA workflow for core prebuilds (#8517) Release 10.48.1 Add NSPrivacyAccessedAPICategoryDiskSpace to the privacy manifest (#8511) 🔄 Synced file(s) with realm/ci-actions (#8520) Add build-binaries workflow (#8515) Only commit the changelog in the add empty changelog release step (#8505) Release 10.48.0 Introduce `_customRealmProperties()` to all Realm Objects to allow for client-generated RLMProperties (via Swift Macros) (#8490) Update packaging for Xcode 15.3 (#8502) # Conflicts: # Realm/RLMAsyncTask.mm # Realm/RLMSyncSession.mm
All tests now pass. Still need to fix some performance regressions.