marcinmoskala
04/07/2018, 7:33 AMdata class User(val id: Int, val paid: Boolean, val activityPoints: Int)
fun main(args: Array<String>) {
val users = (1..1_000_000).map { User(it, it % 3 != 1, it % 100) }
val superusers = (1..100).flatMap { users }
println(measureTimeMillis {
superusers.filter { it.paid }
}) // 2514
println(measureTimeMillis {
superusers.filter { it.paid }
}) // 3367
println(measureTimeMillis {
superusers.filter { it.paid }
}) // 2056
println(measureTimeMillis {
superusers.filter { it.paid }
}) // 1183
println(measureTimeMillis {
superusers.filter { it.paid }
}) // 1942
}
This times varies, but on my machine comparison is always the same: Second time is the longest, fourth it shortest.