Hello, I got an assignment to benchmark Java vs Ko...
# announcements
h
Hello, I got an assignment to benchmark Java vs Kotlin. I was thinking I could benchmark Collections insert and remove speed such as ArrayList.add. Is it a good idea or does Kotlin just use internally Java colletions? If so, what else could I benchmark to show difference between Java and Kotlin?
l
does Kotlin just use internally Java colletions
That's pretty much it
h
Hmm, what could I benchmark then? Streams vs Sequences?
l
Kotlin and Java performance will be pretty much the same when executing on the JVM. What you should "benchmark" is lines of code per feature and amount of bugs per line of code
Streams vs Sequences
You can use Java streams in kotlin as well
So that's an unfair benchmark, as you won't show differences between the two languages
h
Ah, okay. Might be a bad topic for my assignment then 😕
l
Why do you need to check for performance?
I mean, what is the use for a benchmark?
h
It’s my school assignment. I got “Benchmarking” and I chose Java vs Kotlin, thought it could show some interesting stuff but I guess I should have done more research
l
Is that benchmark specific to performance?
h
No, I don’t think so, we are learning about Benchmarking in general
l
You c ould benchmark Kotlin vs Kotlin itself
For example, comparing List and Sequence
Applying many operations on a List is worse than applying many operations on a Sequence
h
I think that is a good idea. Do you have some more examples? Maybe mutable and immutable?
l
Maybe
List
operations vs
Sequence
operations (filter + map + fold ... in a row)
Maybe inline vs not-inlined functions (high-order functions mainly)
Coroutines vs Threads
h
Just learned about inline stuff, that could be great to benchmark, could show some solid stuff.
You are great, thanks a lot
l
Try to find out why X performs better than Y, and not only that it does. You'll study the language more if you do that
h
Yeah, my teacher told me to look at the bytecode generated so I guess I’ll try to look into that
r
They teach kotlin in University?
l
It's probably not specific to Kotlin
👍 1
Likely some sort of software engineering in which one must learn how to benchmark two algorithms or something like that
r
Yeah possible
h
Yeah, it’s a course “performance and reliability” 🙂
r
Awesome :) futuristic curriculum lol, my college still teaches C as a modern language xD
h
as modern? 😄 sounds odd. I mean C is awesome but not as modern language 😄
r
Yeah lol that is the sad situation of cs education in India
l
I see C as a modern language tho
It's still very used in the academical field. Not very used in the business world tho
r
Hmm it's cool as it gives good foundation
h
Leonardo, so I talked to my tutor, and he told me I can do the suggested Kotlin vs Kotlin. He recommended I try sequences vs list. And then try something like different order of operations such as map and then filter vs filter and then map, if the order is optimized
l
@Hoanghun5 Nice! Do you know the differences between List and Sequence?
I recommend going for big values (100_000 elements or more), or else you won't see any difference
h
I know that sequence should do the operations lazily and list doesnt
that’s about the difference i know
l
I think that's pretty much it
h
Is there a difference if I use Sequence on ArrayList or LinkedList? That was another idea my tutor had
l
There might be a difference depending on the operations you're executing
h
awesome, so another thing I could do .. I am supposed to show 15 scenarios.
g
Another idea is to benchmark Kotlin vs Java compilation time and memory usage. And how incremental builds improve compilation.