1. 28
    1. 15

      The short version is that they discovered that arrays of floats are a lot faster than maps or records, which I don’t think would surprise anyone who does much numerical programming.

    2. 6

      In the early days of Causal, the calculation engine ran in Javascript in the browser, but that only scaled to 10,000s of cells. So we moved the calculation engine out of the browser to a Node.js service, getting us to acceptable performance for low 100,000s of cells.

      I’m curious about this, since both of these use the same or comparable JS interpreter; so why is it faster to ship the computation to a server? I can imagine this calculation being memory-bound, and servers have more RAM than most desktops … but servers also run many client requests at once that all have to share RAM. So does Causal just keep provisioning more servers until each client request has more RAM available to it than the client’s own computer? (I guess only a small fraction of requests involve zillions of cells, so they don’t have to assume that many are running at once…)

    3. 5

      Two recent threads debated the value of emojis and I am generally on the side of preferring text to emojis. However, the headers on this article are the best example I’ve seen of emojis and text being used together to add value.

      It made me reconsider where emojis and text can go with each other, not be used instead of each other. Typically I’m just thinking of one replacing the other.

      1. 12

        Emoji make good punctuation. People have long complained about the lack of punctuation to denote things other than excitement or questioning, various pauses, and just trailing off…

    4. 1

      Alternative title: Web dev rediscovers cache coherence

      1. 12

        A alternate way to approach this article is as learning material for all the other “web devs”.

        It’s a well told story with good insights into how one can improve performance by looking at it holistically.

        1. 2

          Putting aside the fact that the author is not a web dev (per grand-poster), the reasons why I posted the article are exactly the ones you phrased so well.