A Scala method to run any block of code slowly

The book, Advanced Scala with Cats, has a nice little function you can use to run a block of code “slowly”:

def slowly[A](body: => A) = try body finally Thread.sleep(100)

I’d never seen a try/finally block written like that (without a catch clause), so it was something new for the brain.

In the book they run a factorial method slowly, like this:

slowly(factorial(n - 1).map(_ * n))

FWIW, you can modify slowly to pass in the length of time to sleep, like this:

def slowly[A](body: => A, sleepTime: Long) = try body finally Thread.sleep(sleepTime)

iPhone 8 vs Intel Core i5 web performance

With Twitter being Twitter, I saw this image there, and now I can’t find it again. But it shows that the new iPhone 8 is significantly faster at rendering a page.

Actually, since I can’t find the original source, I don’t know if they both rendered mobile web pages, or whether they tried several times to make sure it wasn’t just a hiccup. But seeing that the architecture in a little phone can come anywhere near the performance of a desktop/laptop processor that’s still being sold makes one wonder about the future.

Update: I think this was the original source of the image.