• @merc@sh.itjust.works
    link
    fedilink
    91 year ago

    I like this bit at the end:

    As a side note, the program is amazingly performant. For small numbers the results are instantaneous and for the large number close to the 2^32 limit the result is still returned in around 10 seconds.

      • @merc@sh.itjust.works
        link
        fedilink
        31 year ago

        For a long time I’ve been of the opinion that you should only ever optimize for the next sucker colleague who might need to read and edit your code. If you ever optimize for speed, it needs to be done with massive benchmarking / profiling support to ensure that the changes you make are worth it. This is especially true with modern compilers / interpreters that try to use clever techniques to optimize your code either on the fly, or before making the executable.

        • @Klear@sh.itjust.works
          link
          fedilink
          2
          edit-2
          1 year ago

          The first rule of optimization: Don’t do it
          The second rule of optimization: Don’t do it yet (experts only)

    • @blusterydayve26@midwest.social
      link
      fedilink
      English
      0
      edit-2
      1 year ago

      I’m still mad he didn’t use the size of the number to tell the system which block to read first. I feel like that would be a great use of division or maybe modulus?

  • Ephera
    link
    fedilink
    71 year ago

    Now we just need to someone to package it and upload it to NPM.

  • @Hotzilla@sopuli.xyz
    link
    fedilink
    61 year ago

    Could be easily made 50% space saving by only iffin all odds and return even on else. Maybe one if before to handle overflow to avoid wrong even if over the last if.

    • bjorney
      link
      fedilink
      1
      edit-2
      1 year ago

      Yeah but then ALL even numbers would be slow to compute because you would have to chain through every odd before you know that 2 is even.

      Depends on the expected distribution of input values

  • Great Blue Heron
    link
    fedilink
    61 year ago

    I’m not a good reader - I skim most articles and often miss most of the meaning. I read, and enjoyed, every word of that!

    • Th4tGuyII
      link
      fedilink
      11 year ago

      There’s not a single thing in this universe that cannot be accomplished with enough IF statements… as long as you’ve got infinite time to wait

  • @case_when@feddit.uk
    link
    fedilink
    English
    61 year ago

    This is poetry.

    My favourite part is that he uses the modulo operator in his Python script to generate the C code.

  • @Hector_McG@programming.dev
    link
    fedilink
    11 year ago

    I first saw this joke back in the days of 8-bit home microcomputers. Of course then it only needed 256 lines of code, and took up about 8k of your precious, precious RAM.

  • DarkGamer
    link
    fedilink
    01 year ago

    This is why every programmer needs to understand the modulo operator.