• henfredemars@infosec.pub
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    It really depends on what you’re building. In an embedded shop, lookup tables are first class solutions to most problems. Computer scientists though, 100%!

    • rtxn@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      IIRC, Elite used lookup tables for trigonometric functions on certain target platforms (maybe the NES) because memory wasn’t as much of a constraint as computing performance. It’s a barrel of game compressed into a pint of code.

    • mushroommunk@lemmy.today
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      Depends on the available memory and size of the tables. I’ve worked on cases where time to compute didn’t matter as much as shaving off three more bytes did. Large lookup tables would have absolutely killed us compared to running some math.

      • henfredemars@infosec.pub
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 month ago

        Good point! Good point.

        I’ve seen bubble sort implemented because we had data that said it was faster and was slightly smaller for the exact type data we were sorting and its expected distribution.

      • baines@lemmy.cafe
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        not doubting you because the customer can be funny but wha?

        if time to compute doesnt matter there are likely more minimal hardware options to optimize for look up tables and memory cost/space

        • mushroommunk@lemmy.today
          link
          fedilink
          arrow-up
          1
          ·
          1 month ago

          There are so many situations where you can’t just swap hardware. Robots on an assembly line? Yeah you’ve gotta use hardware that’s gone through safety testing. They’re not going to just swap hardware to make things easier. You want to ship an update, you do it in software and under strict testing regiment. Some of that hardware is 20 or 30 years old. Medical. Aeronautics. Aerospace. All of them and more are using older hardware that’s often memory limited but can often just sit and process their next step, and they often don’t have built in complex hardware features because those add potential failure points.