Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
7fcd8ff
feat(benchmark): add grouped benchmark tasks
Ahoo-Wang Jun 6, 2026
1fa8c01
feat(benchmark): add grouped benchmark report
Ahoo-Wang Jun 6, 2026
793426f
perf(benchmark): stabilize benchmark fixtures
Ahoo-Wang Jun 6, 2026
db0b09c
perf(benchmark): focus dispatcher throughput baselines
Ahoo-Wang Jun 6, 2026
c2f5abd
perf(benchmark): split dispatcher store growth baselines
Ahoo-Wang Jun 6, 2026
7293ac8
perf(benchmark): reduce recovery invocation allocations
Ahoo-Wang Jun 6, 2026
d1031ab
perf(benchmark): trim command processing allocations
Ahoo-Wang Jun 6, 2026
5011463
perf(core): reduce command registry allocations
Ahoo-Wang Jun 6, 2026
106f0ae
perf(core): optimize single-event stream creation
Ahoo-Wang Jun 6, 2026
b1c2212
perf(core): trim command checkpoint allocations
Ahoo-Wang Jun 6, 2026
0b47d68
perf(core): reuse command function topics
Ahoo-Wang Jun 6, 2026
c51cde3
perf(core): reduce state registry allocations
Ahoo-Wang Jun 6, 2026
f3467b6
perf(core): avoid eager exchange attribute maps
Ahoo-Wang Jun 7, 2026
69ace34
perf(core): resolve command functions on demand
Ahoo-Wang Jun 7, 2026
9d779a6
perf(core): use compact header maps
Ahoo-Wang Jun 7, 2026
05388de
perf(core): invoke simple command functions directly
Ahoo-Wang Jun 7, 2026
c621c73
perf(core): invoke state sourcing directly
Ahoo-Wang Jun 7, 2026
cc55549
perf(core): use compact small header maps
Ahoo-Wang Jun 7, 2026
ce67644
perf(core): compact header storage arrays
Ahoo-Wang Jun 7, 2026
4f12043
perf(core): share header copies until mutation
Ahoo-Wang Jun 7, 2026
b100bc4
perf(redis): cache lua scripts as static text
Ahoo-Wang Jun 7, 2026
55a040e
perf(benchmark): add redis event store read coverage
Ahoo-Wang Jun 7, 2026
7865d5e
perf(core): avoid event stream list copy
Ahoo-Wang Jun 7, 2026
cbe862b
perf(core): cache event body readers
Ahoo-Wang Jun 7, 2026
2486794
refactor(benchmark): move reporting tasks to script
Ahoo-Wang Jun 7, 2026
e68eb42
refactor(benchmark): move jmh packaging tasks to script
Ahoo-Wang Jun 7, 2026
1d58d70
chore: allow superpowers docs to be tracked
Ahoo-Wang Jun 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,3 @@ __pycache__/

# Local agent configuration
/.claude/

# Superpowers
docs/superpowers/
Original file line number Diff line number Diff line change
Expand Up @@ -21,26 +21,35 @@ import me.ahoo.wow.example.api.cart.CartQuantityChanged
import me.ahoo.wow.example.api.cart.ICartInfo

class CartState(val id: String) : ICartInfo {
override var items: List<CartItem> = listOf()
override var items: List<CartItem> = ArrayList()
private set

@Suppress("UNCHECKED_CAST")
private fun mutableItems(): MutableList<CartItem> {
if (items is MutableList<*>) {
return items as MutableList<CartItem>
}
val mutableItems = ArrayList(items)
items = mutableItems
return mutableItems
}

@OnSourcing
fun onCartItemAdded(cartItemAdded: CartItemAdded) {
items = items + cartItemAdded.added
mutableItems().add(cartItemAdded.added)
}

@OnSourcing
fun onCartItemRemoved(cartItemRemoved: CartItemRemoved) {
items = items.filter { !cartItemRemoved.productIds.contains(it.productId) }
mutableItems().removeAll { cartItemRemoved.productIds.contains(it.productId) }
}

@OnSourcing
fun onCartQuantityChanged(cartQuantityChanged: CartQuantityChanged) {
items = items.map {
if (it.productId == cartQuantityChanged.changed.productId) {
cartQuantityChanged.changed
} else {
it
val mutableItems = mutableItems()
for (index in mutableItems.indices) {
if (mutableItems[index].productId == cartQuantityChanged.changed.productId) {
mutableItems[index] = cartQuantityChanged.changed
}
}
}
Expand Down
Loading
Loading