removing some old time measuring code for additional performance.

This commit is contained in:
Vitor Pamplona
2023-12-15 15:30:16 -05:00
parent 2dc23b601a
commit 23fad2a818
6 changed files with 120 additions and 173 deletions
@@ -7,7 +7,6 @@ import com.vitorpamplona.amethyst.ui.actions.updated
import com.vitorpamplona.quartz.events.ChannelMessageEvent import com.vitorpamplona.quartz.events.ChannelMessageEvent
import com.vitorpamplona.quartz.events.ChatroomKey import com.vitorpamplona.quartz.events.ChatroomKey
import com.vitorpamplona.quartz.events.ChatroomKeyable import com.vitorpamplona.quartz.events.ChatroomKeyable
import kotlin.time.measureTimedValue
class ChatroomListKnownFeedFilter(val account: Account) : AdditiveFeedFilter<Note>() { class ChatroomListKnownFeedFilter(val account: Account) : AdditiveFeedFilter<Note>() {
@@ -46,7 +45,6 @@ class ChatroomListKnownFeedFilter(val account: Account) : AdditiveFeedFilter<Not
} }
override fun updateListWith(oldList: List<Note>, newItems: Set<Note>): List<Note> { override fun updateListWith(oldList: List<Note>, newItems: Set<Note>): List<Note> {
val (feed, elapsed) = measureTimedValue {
val me = account.userProfile() val me = account.userProfile()
// Gets the latest message by channel from the new items. // Gets the latest message by channel from the new items.
@@ -93,11 +91,7 @@ class ChatroomListKnownFeedFilter(val account: Account) : AdditiveFeedFilter<Not
} }
} }
sort(myNewList.toSet()).take(1000) return sort(myNewList.toSet()).take(1000)
}
// Log.d("Time", "${this.javaClass.simpleName} Modified Additive Feed in $elapsed with ${feed.size} objects")
return feed
} }
override fun applyFilter(newItems: Set<Note>): Set<Note> { override fun applyFilter(newItems: Set<Note>): Set<Note> {
@@ -6,7 +6,6 @@ import com.vitorpamplona.amethyst.ui.actions.updated
import com.vitorpamplona.quartz.events.ChatroomKey import com.vitorpamplona.quartz.events.ChatroomKey
import com.vitorpamplona.quartz.events.ChatroomKeyable import com.vitorpamplona.quartz.events.ChatroomKeyable
import com.vitorpamplona.quartz.events.PrivateDmEvent import com.vitorpamplona.quartz.events.PrivateDmEvent
import kotlin.time.measureTimedValue
class ChatroomListNewFeedFilter(val account: Account) : AdditiveFeedFilter<Note>() { class ChatroomListNewFeedFilter(val account: Account) : AdditiveFeedFilter<Note>() {
@@ -36,7 +35,6 @@ class ChatroomListNewFeedFilter(val account: Account) : AdditiveFeedFilter<Note>
} }
override fun updateListWith(oldList: List<Note>, newItems: Set<Note>): List<Note> { override fun updateListWith(oldList: List<Note>, newItems: Set<Note>): List<Note> {
val (feed, elapsed) = measureTimedValue {
val me = account.userProfile() val me = account.userProfile()
// Gets the latest message by room from the new items. // Gets the latest message by room from the new items.
@@ -65,11 +63,7 @@ class ChatroomListNewFeedFilter(val account: Account) : AdditiveFeedFilter<Note>
} }
} }
sort(myNewList.toSet()).take(1000) return sort(myNewList.toSet()).take(1000)
}
// Log.d("Time", "${this.javaClass.simpleName} Modified Additive Feed in $elapsed with ${feed.size} objects")
return feed
} }
override fun applyFilter(newItems: Set<Note>): Set<Note> { override fun applyFilter(newItems: Set<Note>): Set<Note> {
@@ -1,6 +1,5 @@
package com.vitorpamplona.amethyst.ui.note package com.vitorpamplona.amethyst.ui.note
import android.util.Log
import androidx.compose.animation.Crossfade import androidx.compose.animation.Crossfade
import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background import androidx.compose.foundation.background
@@ -76,7 +75,6 @@ import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlin.time.ExperimentalTime import kotlin.time.ExperimentalTime
import kotlin.time.measureTimedValue
@OptIn(ExperimentalFoundationApi::class, ExperimentalTime::class) @OptIn(ExperimentalFoundationApi::class, ExperimentalTime::class)
@Composable @Composable
@@ -130,15 +128,11 @@ fun MultiSetCompose(multiSetCard: MultiSetCard, routeForLastRead: String, showHi
} }
Column(modifier = columnModifier) { Column(modifier = columnModifier) {
val (value, elapsed) = measureTimedValue {
Galeries(multiSetCard, backgroundColor, accountViewModel, nav) Galeries(multiSetCard, backgroundColor, accountViewModel, nav)
}
Log.d("Rendering Metrics", "All Galeries: ${baseNote.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed - ")
Row(Modifier.fillMaxWidth()) { Row(Modifier.fillMaxWidth()) {
Spacer(modifier = WidthAuthorPictureModifierWithPadding) Spacer(modifier = WidthAuthorPictureModifierWithPadding)
val (value, elapsed) = measureTimedValue {
NoteCompose( NoteCompose(
baseNote = baseNote, baseNote = baseNote,
routeForLastRead = null, routeForLastRead = null,
@@ -149,8 +143,6 @@ fun MultiSetCompose(multiSetCard: MultiSetCard, routeForLastRead: String, showHi
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav nav = nav
) )
}
Log.d("Rendering Metrics", "Complete: ${baseNote.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
NoteDropDownMenu(baseNote, popupExpanded, accountViewModel) NoteDropDownMenu(baseNote, popupExpanded, accountViewModel)
} }
@@ -168,9 +160,6 @@ private fun Galeries(
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
nav: (String) -> Unit nav: (String) -> Unit
) { ) {
val boostEvents by remember { derivedStateOf { multiSetCard.boostEvents } }
val likeEvents by remember { derivedStateOf { multiSetCard.likeEventsByType } }
val hasZapEvents by remember { derivedStateOf { multiSetCard.zapEvents.isNotEmpty() } } val hasZapEvents by remember { derivedStateOf { multiSetCard.zapEvents.isNotEmpty() } }
val hasBoostEvents by remember { derivedStateOf { multiSetCard.boostEvents.isNotEmpty() } } val hasBoostEvents by remember { derivedStateOf { multiSetCard.boostEvents.isNotEmpty() } }
val hasLikeEvents by remember { derivedStateOf { multiSetCard.likeEvents.isNotEmpty() } } val hasLikeEvents by remember { derivedStateOf { multiSetCard.likeEvents.isNotEmpty() } }
@@ -188,27 +177,18 @@ private fun Galeries(
} }
} }
val (value, elapsed) = measureTimedValue {
RenderZapGallery(zapEvents, backgroundColor, nav, accountViewModel) RenderZapGallery(zapEvents, backgroundColor, nav, accountViewModel)
} }
Log.d("Rendering Metrics", "Galeries Zaps: ${multiSetCard.note.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
}
if (hasBoostEvents) { if (hasBoostEvents) {
val (value, elapsed) = measureTimedValue { RenderBoostGallery(multiSetCard.boostEvents, nav, accountViewModel)
RenderBoostGallery(boostEvents, nav, accountViewModel)
}
Log.d("Rendering Metrics", "Galeries Repost: ${multiSetCard.note.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
} }
if (hasLikeEvents) { if (hasLikeEvents) {
val (value, elapsed) = measureTimedValue { multiSetCard.likeEventsByType.forEach {
likeEvents.forEach {
RenderLikeGallery(it.key, it.value, nav, accountViewModel) RenderLikeGallery(it.key, it.value, nav, accountViewModel)
} }
} }
Log.d("Rendering Metrics", "Galeries Like: ${multiSetCard.note.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
}
} }
@Composable @Composable
@@ -220,7 +220,6 @@ import java.math.BigDecimal
import java.net.URL import java.net.URL
import java.net.URLEncoder import java.net.URLEncoder
import java.util.Locale import java.util.Locale
import kotlin.time.measureTimedValue
@OptIn(ExperimentalFoundationApi::class) @OptIn(ExperimentalFoundationApi::class)
@Composable @Composable
@@ -961,17 +960,13 @@ fun InnerNoteWithReactions(
) { ) {
if (notBoostedNorQuote) { if (notBoostedNorQuote) {
Column(WidthAuthorPictureModifier) { Column(WidthAuthorPictureModifier) {
val (value, elapsed) = measureTimedValue {
AuthorAndRelayInformation(baseNote, accountViewModel, nav) AuthorAndRelayInformation(baseNote, accountViewModel, nav)
} }
Log.d("Rendering Metrics", "Author: ${baseNote.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
}
Spacer(modifier = DoubleHorzSpacer) Spacer(modifier = DoubleHorzSpacer)
} }
Column(Modifier.fillMaxWidth()) { Column(Modifier.fillMaxWidth()) {
val showSecondRow = baseNote.event !is RepostEvent && baseNote.event !is GenericRepostEvent && !isBoostedNote && !isQuotedNote val showSecondRow = baseNote.event !is RepostEvent && baseNote.event !is GenericRepostEvent && !isBoostedNote && !isQuotedNote
val (value, elapsed) = measureTimedValue {
NoteBody( NoteBody(
baseNote = baseNote, baseNote = baseNote,
showAuthorPicture = isQuotedNote, showAuthorPicture = isQuotedNote,
@@ -984,8 +979,6 @@ fun InnerNoteWithReactions(
nav = nav nav = nav
) )
} }
Log.d("Rendering Metrics", "TextBody: ${baseNote.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
}
} }
val isNotRepost = baseNote.event !is RepostEvent && baseNote.event !is GenericRepostEvent val isNotRepost = baseNote.event !is RepostEvent && baseNote.event !is GenericRepostEvent
@@ -997,7 +990,6 @@ fun InnerNoteWithReactions(
Spacer(modifier = DoubleVertSpacer) Spacer(modifier = DoubleVertSpacer)
} }
} else { } else {
val (value, elapsed) = measureTimedValue {
ReactionsRow( ReactionsRow(
baseNote = baseNote, baseNote = baseNote,
showReactionDetail = notBoostedNorQuote, showReactionDetail = notBoostedNorQuote,
@@ -1005,8 +997,6 @@ fun InnerNoteWithReactions(
nav = nav nav = nav
) )
} }
Log.d("Rendering Metrics", "Reaction: ${baseNote.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
}
} }
if (notBoostedNorQuote) { if (notBoostedNorQuote) {
@@ -1,6 +1,5 @@
package com.vitorpamplona.amethyst.ui.screen package com.vitorpamplona.amethyst.ui.screen
import android.util.Log
import androidx.compose.animation.Crossfade import androidx.compose.animation.Crossfade
import androidx.compose.animation.core.tween import androidx.compose.animation.core.tween
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
@@ -18,7 +17,6 @@ import com.vitorpamplona.amethyst.ui.note.ChatroomHeaderCompose
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import kotlin.time.ExperimentalTime import kotlin.time.ExperimentalTime
import kotlin.time.measureTimedValue
@Composable @Composable
fun ChatroomListFeedView( fun ChatroomListFeedView(
@@ -96,15 +94,12 @@ private fun FeedLoaded(
key = { index, item -> if (index == 0) index else item.idHex } key = { index, item -> if (index == 0) index else item.idHex }
) { _, item -> ) { _, item ->
Row(Modifier.fillMaxWidth()) { Row(Modifier.fillMaxWidth()) {
val (value, elapsed) = measureTimedValue {
ChatroomHeaderCompose( ChatroomHeaderCompose(
item, item,
accountViewModel = accountViewModel, accountViewModel = accountViewModel,
nav = nav nav = nav
) )
} }
Log.d("Rendering Metrics", "Chat Header Complete: ${item.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
}
} }
} }
} }
@@ -1,6 +1,5 @@
package com.vitorpamplona.amethyst.ui.screen package com.vitorpamplona.amethyst.ui.screen
import android.util.Log
import androidx.compose.animation.Crossfade import androidx.compose.animation.Crossfade
import androidx.compose.animation.core.tween import androidx.compose.animation.core.tween
import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.ExperimentalFoundationApi
@@ -38,7 +37,6 @@ import com.vitorpamplona.amethyst.ui.note.NoteCompose
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
import com.vitorpamplona.amethyst.ui.theme.FeedPadding import com.vitorpamplona.amethyst.ui.theme.FeedPadding
import kotlin.time.ExperimentalTime import kotlin.time.ExperimentalTime
import kotlin.time.measureTimedValue
@Composable @Composable
fun RefresheableFeedView( fun RefresheableFeedView(
@@ -224,7 +222,6 @@ private fun FeedLoaded(
state = listState state = listState
) { ) {
itemsIndexed(state.feed.value, key = { _, item -> item.idHex }) { _, item -> itemsIndexed(state.feed.value, key = { _, item -> item.idHex }) { _, item ->
val (value, elapsed) = measureTimedValue {
val defaultModifier = remember { val defaultModifier = remember {
Modifier Modifier
.fillMaxWidth() .fillMaxWidth()
@@ -243,9 +240,6 @@ private fun FeedLoaded(
) )
} }
} }
Log.d("Rendering Metrics", "Complete: ${item.event?.content()?.split("\n")?.getOrNull(0)?.take(15)}.. $elapsed")
}
} }
} }