Repository navigation
perf(sidebar): build the find bar on first use and drop the Oracle listing's partition join - #3831
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
NSTextFinderdoes. A hiddenFindPanelHostingViewwas still laid out on everySourceEditor, and SwiftUI inserting its pickers forced a layout of the whole editor area around them. Opening a connection window drops it from the turn that builds the restored query tab (17 to 19 ms of its own, plus the forced re-layouts). Every other editor (JSON, values, previews) gains the same.ALL_TABLES.PARTITIONEDand no longer joinALL_PART_TABLES. Counts come fromALL_PART_TABLESin a separate read, only for owners that returned a partitioned table. A failed count read leaves the listing without counts. On 100 schemas of 500 tables, the listing's server time went from 0.73 to 2.77 s to 0.17 to 0.38 s; the count read takes 0.08 to 0.11 s.Still over budget (
scripts/benchmark/large-catalog/baseline.json):SourceEditor, and the results pane.Test plan
FindPanelTests(built on first show, a term set before then is searched),OracleSchemaQueriesTests(no join, count read, owners, merge),QuickSwitcherListingDemandTests.listingAnotherReaderStartedCountsAsLoading(fails without the fix),SidebarSchemaFilterTests.failedListingIsAskedForOncePerSearch,SidebarObjectListPresentationTests.searchAwaitingTheListingIsNotAMiss.OracleSchemaQueriesTests.testTableListingReadsPartitioningFromAllPartTablesreplaced;EditorKeyMonitorCompositionTests,TextViewControllerClippingTests,TextViewControllerTestsread the find panel as optional.swift testin TableProOracle, 19 iOS Oracle tests; lint clean.verify.sh pluginsstopped at DamengDriver (nolibdameng_bridge.ahere);OracleDriverbuilt on its own.Refs #3661