From 01ef1dee2ce984741f82ce5f3856c7f1cafa42d4 Mon Sep 17 00:00:00 2001 From: OneWay Date: Sat, 10 Oct 2026 01:13:18 +0800 Subject: [PATCH] perf(profile): cover startup, search and article-open paths Cover the startup path, per-keystroke search with index reads and ranking, the dictzip article read, block merge and text warm-up, and dictionary indexing; they previously ran as JIT-warmed or interpreted code. --- app/src/main/baseline-prof.txt | 80 +++++++++++++++------------------- 1 file changed, 36 insertions(+), 44 deletions(-) diff --git a/app/src/main/baseline-prof.txt b/app/src/main/baseline-prof.txt index 91d1246..7704dae 100644 --- a/app/src/main/baseline-prof.txt +++ b/app/src/main/baseline-prof.txt @@ -1,54 +1,48 @@ -# Seeded from the measured ReSearch startup, search, scrolling, and article-opening hot paths. -# Keep this profile checked in: release builders, including F-Droid, only compile it. -# Updated 2026-06-25: Added optimized cache paths from performance optimization stages 1-4 +HSPLcom/example/research/ReSearchApplication**->**(**)** +HSPLcom/example/research/MainActivity**->**(**)** +HSPLcom/example/research/InitialLaunch**->**(**)** +HSPLcom/example/research/DictionaryStatus**->**(**)** +HSPLcom/example/research/core/**->**(**)** +HSPLcom/example/research/common/ui/**->**(**)** +HSPLcom/example/research/ui/theme/**->**(**)** +HSPLcom/example/research/ui/navigation/**->**(**)** +HSPLcom/example/research/data/local/preferences/**->**(**)** +HSPLcom/example/research/data/parser/ResourceManager**->**(**)** +HSPLcom/example/research/common/util/FileStorageManager**->**(**)** +HSPLcom/example/research/common/util/DateUtils**->**(**)** -HSPLcom/example/research/ReSearchApplication;->**(**)** -HSPLcom/example/research/MainActivity;->**(**)** - -HSPLcom/example/research/common/ui/AppLocaleProviderKt**->**(**)** -HSPLcom/example/research/common/ui/theme/ThemeKt**->**(**)** -HSPLcom/example/research/ui/navigation/AppNavigationKt**->**(**)** - -HSPLcom/example/research/ui/main/MainScreenKt**->**(**)** -HSPLcom/example/research/ui/main/AdaptiveMainScreenKt**->**(**)** -HSPLcom/example/research/ui/main/components/MainTopBarKt**->**(**)** -HSPLcom/example/research/ui/main/components/SearchResultsListKt**->**(**)** - -HSPLcom/example/research/feature/search/SearchViewModel**->**(**)** -HSPLcom/example/research/data/paging/IndexEntryPagingSource**->**(**)** +HSPLcom/example/research/ui/main/**->**(**)** +HSPLandroidx/paging/**->**(**)** +HSPLcom/example/research/feature/search/**->**(**)** +HSPLcom/example/research/data/paging/**->**(**)** HSPLcom/example/research/data/parser/IndexSearcher**->**(**)** -HSPLcom/example/research/data/parser/SearchRankingKt**->**(**)** +HSPLcom/example/research/data/parser/FileSource**->**(**)** +HSPLcom/example/research/data/parser/ResultsLruCache**->**(**)** +HSPLcom/example/research/data/parser/MetadataLruCache**->**(**)** +HSPLcom/example/research/data/parser/SearchRanking**->**(**)** +HSPLcom/example/research/data/parser/SortKey**->**(**)** -HSPLcom/example/research/data/repository/LocalDictionaryRepository**->**(**)** -HSPLcom/example/research/data/repository/KotlinDictionaryEngine**->**(**)** +HSPLcom/example/research/data/repository/**->**(**)** +HSPLcom/example/research/data/dictzip/DictZipInputStream**->**(**)** +HSPLcom/example/research/data/dictzip/DictZipRandomAccessFile**->**(**)** +HSPLcom/example/research/data/dictzip/DictZipHeader**->**(**)** HSPLcom/example/research/data/parser/DslArticleReader**->**(**)** -HSPLcom/example/research/ui/article/DslAnnotatedParser**->**(**)** -HSPLcom/example/research/ui/article/ArticleScreenKt**->**(**)** +HSPLcom/example/research/data/parser/LruCharsetCache**->**(**)** +HSPLcom/example/research/ui/article/**->**(**)** -# Hot paths for optimized article rendering (Stage 1) -HSPLcom/example/research/ui/article/ArticleLinkText**->**(**)** -HSPLcom/example/research/ui/article/ArticleState**->**(**)** +HSPLcom/example/research/data/parser/Dsl**->**(**)** +HSPLcom/example/research/data/parser/LineKind**->**(**)** +HSPLcom/example/research/data/parser/ByteTrackingLineReader**->**(**)** +HSPLcom/example/research/data/parser/Utf8Writer**->**(**)** + +HSPLcom/example/research/ui/settings/**->**(**)** +HSPLcom/example/research/common/progress/**->**(**)** +HSPLcom/example/research/feature/download/**->**(**)** -# About screen (bonus optimization) HSPLcom/example/research/ui/about/AboutScreenKt**->**(**)** -# Updated 2026-07-11: cover the settings/dictionary flow and the Compose framework. - -# Settings + dictionary management flow -HSPLcom/example/research/ui/settings/**->**(**)** -Lcom/example/research/ui/settings/** -HSPLcom/example/research/common/ui/components/**->**(**)** -Lcom/example/research/common/ui/components/** -HSPLcom/example/research/common/progress/**->**(**)** -Lcom/example/research/common/progress/** -HSPLcom/example/research/feature/download/**->**(**)** -Lcom/example/research/feature/download/** - -# Pre-verify the app classes already covered by method rules above Lcom/example/research/** -# Compose framework: the alpha AARs ship near-empty baseline profiles, so first -# compositions run interpreted without these rules. HSPLandroidx/compose/runtime/**->**(**)** Landroidx/compose/runtime/** HSPLandroidx/compose/ui/**->**(**)** @@ -61,12 +55,10 @@ HSPLandroidx/compose/animation/**->**(**)** Landroidx/compose/animation/** HSPLandroidx/compose/material/**->**(**)** Landroidx/compose/material/** - -# Support libraries on the same cold path HSPLandroidx/lifecycle/**->**(**)** Landroidx/lifecycle/** HSPLandroidx/activity/compose/**->**(**)** Landroidx/activity/compose/** HSPLkotlinx/coroutines/**->**(**)** Lkotlinx/coroutines/** - +Landroidx/paging/**