We halved DNS build delay and cut memory use by 85%

(blog.cloudflare.com)

43 points | by wondersky 3 hours ago

4 comments

  • thephyber 1 hour ago
    I have been wondering if the memory scarcity would lead to a desire to optimize software to be more efficient.

    Curious what the R&D / efficiency development ROI is on reducing memory footprint. I suppose we should both consider current ROI and near future ROI (as the price of memory will likely stay high for at least another 1-2 years).

    • placatedmayhem 1 hour ago
      Coincidentally, I just got angry this weekend about my Mac with 64GB of RAM going OOM because of poorly optimized applications. Use of web tech, especially Electron, was common among basically all of the offending applications. Whether Electron itself or just poor coding, I'm not sure, but there's a pattern.
      • Aperocky 12 minutes ago
        claude-code is using a suspicious amount of memory and doesn't seem to care about optimizing it nearly as much as the others.
      • renehsz 46 minutes ago
        Electron needs to die.

        But it's convenient. I can't really fault people for using it.

      • lenerdenator 50 minutes ago
        Electron's more-or-less just Chrome without... erm... chrome, so it makes sense that it's bloated and uses too much RAM. Even well-constructed and efficient JavaScript executed through it will do so on top of a bunch of stuff your application might not even need.

        One thing that I really hope we see out of the LLM revolution: a return to native applications. You could argue that Electron cross-platform apps made sense when you had to pay a team to maintain two or three (at least) native clients; you can't make that argument anymore when the marginal cost of a line of code is $0.00.

        • floydnoel 42 minutes ago
          What I don’t understand is, why not just use a platform native webview? Mac has it at least, I think Windows does as well. You'd think it would be the same amount of work (roughly) but use a lot less memory.

          I guess developers really prioritize velocity or ease over everything. Or maybe it's business pressure or directives?

          • Klonoar 32 minutes ago
            There's a comment somewhere on HN from a Slack dev who was the one responsible for moving away from platform-specific webviews to Electron. The core reason is that Electron is the same on all platforms it ships on, generally speaking.

            Platform-specific views simply aren't. For simple applications they might make sense, but at a certain point devs just want the shit to work. Electron solved that.

            I do agree that LLMs & co should contribute to reversing this trend, though. I don't really see why you couldn't try to ship (true) native now.

          • lenerdenator 40 minutes ago
            Business pressure. Always business pressure. Sales sold a bill of goods and now you need to deliver ASAP. Hardware was cheaper than dev time. Was.

            Yes, they're getting their bonus. No, we can't hire and onboard more people to deal with the insane demands being made as a result. Why do you ask?

    • nikanj 38 minutes ago
      Server-side: sure

      Client-side: lol sucks to be you

  • JulianPaul 8 minutes ago
    I'm very curious about the bugs (before vs. after relational) that come from an improvement like this over time
  • mhovd 39 minutes ago
    Cloudflare doesn't get enough credit for their series of overall great technical blog posts.
    • schainks 31 minutes ago
      They also read like actual human curated content, to boot.
      • LoganDark 3 minutes ago
        My LLM detector started going off around here:

        > Why doesn't the Zone Builder just rebuild the setting that changed?

        > It should, and that is where we ended up. However, proving when it was safe took most of the work. A record event identifies what changed. A zone event can come from many Cloudflare products, may not say why the zone changed, and can alter data shared by several zones with the same name. Choosing too much work wastes capacity. Choosing too little can leave stale or incorrect DNS data at the edge.

        Re-reading the start of the post with that in mind, I'm fairly sure the article was generated by LLM.

        With that said, curated it sure is. Aside from the smelly phrasing, the actual content is fairly dense and engaging. Not all of Cloudflare's LLM-generated posts are this good, but this one is fairly alright.

  • InsidiousWombat 1 hour ago
    Isn't 700 changes a second like... really low, considering their scale and amount of domains they manage ?
    • straygar 1 hour ago
      There's about 360 million domains (according to Verisign as of March 31, includes inactive sites as well) and if Cloudflare manages about 1/3 to 1/2 of them, that's like 180 million domains at most.

      700 changes per second is 1.8 billion changes per month. I guess 10 changes per top level domain per month is quite low, which suggests a very long tail distribution, which makes sense, given that most websites are just a static page a business sets up once, with DNS changes maybe once every few years.

    • mvkel 1 hour ago
      412M domains registered worldwide

      700 changes per second implies 15% of all domains are changing daily, which is almost certainly not the case.

      • LoganDark 1 minute ago
        It's probably more like most domains barely change at all but some of them change a lot.
      • enedil 1 hour ago
        It's well possible that some people update DNS records for their own domain every minute.
      • zoeysmithe 38 minutes ago
        I can see 15% changing daily. There's all sorts of stuff being done with dkim and other anti-spam technologies that require a txt or cname or whatever change in DNS. Companies are always whitelisting vendors and mass mailers to send as them, validating domain ownership, adding new sub-domains, changing things for Exchange/365/Google/AI stuff, changing things due to a security audit, etc.

        I imagine a renewal is a change event to, at least change the expiry, and renewals are constantly happening.

        • toast0 28 minutes ago
          > I imagine a renewal is a change event to, at least change the expiry, and renewals are constantly happening.

          A domain renewal is an update at the registry, but there's no update in DNS at any level. If a domain expires, it would be removed (or at least changed) in the TLD DNS, but the authoritative DNS for the domain wouldn't necessarily update... it would just become orphaned.