quicksteve
02/07/2023, 9:28 PMquicksteve
02/07/2023, 9:31 PMjw
02/07/2023, 9:50 PMquicksteve
02/07/2023, 10:37 PMfor (item in data) {
key(item.id) {
Row(item.id == selected, item, { selected = item.id }, {
data.removeAt(data.indexOfFirst { it.id == item.id })
})
}
}
to a chunked one, like this
for (chunk in data.chunked(100)) {
for (item in chunk) {
key(item.id) {
Row(item.id == selected, item, { selected = item.id }, {
data.removeAt(data.indexOfFirst { it.id == item.id })
})
}
}
}
the performance is vastly improved (from 80 seconds down to 2 seconds)shikasd
02/08/2023, 3:34 PMshikasd
02/08/2023, 3:37 PMArrayList
, which might be not optimized for this in JS implementation.quicksteve
02/08/2023, 5:46 PMSlotWriter.moveFrom
the whole apply changes now is just 1200msshikasd
02/08/2023, 5:47 PMquicksteve
02/08/2023, 5:47 PMshikasd
02/08/2023, 5:47 PMshikasd
02/08/2023, 5:50 PMquicksteve
02/08/2023, 5:59 PMshikasd
02/08/2023, 6:03 PMquicksteve
02/08/2023, 6:06 PMshikasd
02/08/2023, 6:06 PMquicksteve
02/08/2023, 7:28 PM