Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 22
  1. Things 3

    Here is a list of tings I read/watched/played/etc. this week that you might find interesting or enjoyable: Things to read Link to heading SIMD in the 90s — Great article explaining what Intel’s MMX was all about.

  2. Things 2

    Here is a list of tings I read/watched/played/etc. this week that you might find interesting or enjoyable: Things to read Link to heading The fastest double-to-string algorithm you’ve never heard of — I always enjoy reading about how floating point formats

  3. Things 1

    Here is a list of tings I read/watched/played/etc. this week that you might find interesting or enjoyable: Things to read Link to heading A Deep Dive into C++26 std::hive: The Ultimate Container for Active Data — Some details about the internals of C++ 26…

  4. Detecting whether a user tapped on an arbitrary shape represented by a Path is an unfortunately difficult task on Android.

  5. Finger Shadows in Compose

    I recently realized that I have never discussed graphics programming on this blog, and decided it was time to correct this.

  6. Merge Your Computations

    There is a simple but often overlooked technique to optimize performance-sensitive code: merging (or manually inlining) functions.

  7. Eliminating Array Bounds Checks

    The Android Runtime (ART) offers a nice memory safety feature when accessing the content of an array.

  8. Naming is Hard

    Before we dive into today’s topic, I would like to make it clear that what follows is specific to how Android, and more precisely the Android RunTime (ART), works.

  9. The Path Not Taken

    In the last post, we saw that benchmarks don’t always measure what we think they measure.

  10. You Are Going to Need It

    Optimizing code can be a difficult task because there are so many traps you need to avoid at every step of the way.

  11. Optimization, Step by Step

    BlurHash is a compact representation of placeholders for images.

  12. Today I would like to show you a micro-optimization I recently used more for the fun of it than for its real impact.

  13. Down Another Rabbit Hole

    Jake Wharton recently caused me to go down yet another silly optimization rabbit hole when he nonchalantly linked to a piece of code used to count the number of digits in a Long during a Slack conversation about Kotlin’s lack of ternary operator.

  14. Down a Rabbit Hole

    I recently discussed an optimization that I worked on following Leland’s successful nerd snipe.

  15. I recently gave a talk called Practical Optimizations at Android Makers 2024.

  16. Readability of Optimized Kotlin Code

    Leland and I were recently discussing how to best implement a new data structure to speed up a specific aspect of Jetpack Compose.

  17. Speeding up isBlank()

    I was recently optimizing a small part of the Jetpack Compose runtime when I stumbled upon a seemingly harmless API, isBlank().

  18. Micro-optimizations in Kotlin — 3

    The Kotlin standard library is a wonderful set of APIs, but it sometimes hides… interesting surprises.

  19. Going Old School

    While looking for optimization opportunities in various parts of Jetpack Compose, I recently discovered that calling the cube root function was taking a non-neligible amount of times in two areas of the Toolkit: when evaluating cubic Bézier easing curves…

  20. A Better Hash Map — 1

    Hash maps are extremely common data structures, and Jetpack Compose unsurprisingly takes advantage of them for various tasks.

  21. Micro-optimizations in Kotlin — 2

    In the previous post, we saw how we could micro-optimize Int.sign to save a few instructions.

  22. Micro-optimizations in Kotlin — 1

    While my work responsibilities do not leave me much time to write code nowadays, I have managed to make a few small contributions to Jetpack Compose in the last few months, mostly focusing on performance.