kef
12/10/2018, 12:05 AMcurrent.prev.prev.prev.prev.prev.prev.prev
should be the fastest way possible, but out of curiosity I also did it as
generateSequence(current) { it.prev }.take(8).last()
and to my surprise, when I measured times of execution I got this :
- .prev
chain -> 2389ms
- generateSequence
-> 460ms
So why is generateSequence
5 times faster?
On my machine I get results like that when looping up to 10mln, after that generateSequence
suddenly takes 3s to finish.todd.ginsberg
12/10/2018, 12:41 AMkef
12/10/2018, 12:51 AMkarelpeeters
12/10/2018, 1:38 AM60ms
for the sequence and 40ms
for the .prev.prev
thing as expected.kef
12/10/2018, 10:24 AMkarelpeeters
12/10/2018, 11:40 AM