Day 11: Plutonian Pebbles

Megathread guidelines

  • Keep top level comments as only solutions, if you want to say something other than a solution put it in a new post. (replies to comments can be whatever)
  • You can send code in code blocks by using three backticks, the code, and then three backticks or use something such as https://topaz.github.io/paste/ if you prefer sending it through a URL

FAQ

  • CameronDev@programming.devOPM
    link
    fedilink
    arrow-up
    1
    ·
    11 days ago

    Using release to beat python code is just a very hollow victory :D

    It does somewhat depend on how we measure as well, you are benching the algorithm itself, and I’m doing the entire execution time

    • Acters@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      11 days ago

      you are right, I dont think loading the file from disk should be part of it because OS process priority/queue, disk and cache and more headaches on figuring out what is slow. If you want to compare the entire execution including python startup overhead and reading from file and anything extra. it is closer 50 to 60 ms on linux and 80-90 ms on windows. (both hosts, not virtual machines)

      My reasoning is that loading the input will eventually either pull from the website or disk. that is not part of the challenge. you could simply just hard code it.

      So maybe you should look into adding code to your debug mode or both modes for measuring solving it instead of the entire process loading.

      however, someone claims their rust code can do 250 microseconds, so I doubt you have much excuse aside from having “inefficient” code.(you are still fast, just not at the limit of your Language’s performance) only measuring my python algorithm, it is only able to finish in 32000 microseconds.

      https://github.com/maneatingape/advent-of-code-rust/blob/main/src/year2024/day11.rs

      however, now that I am looking at their main.rs file, they do calculate time for completion after process startup and only the algorithm.

      • CameronDev@programming.devOPM
        link
        fedilink
        arrow-up
        1
        ·
        11 days ago

        Yeah, disk loading definitely shouldn’t count if I was timing properly, I’m just lazy and dont want to do proper timing. :D

        Most of my slowdown is in the hashmap, looks like that answer deconstructs the hashmap and builds it from a fastmap and a vec. Not sure I want to go down that road, at this stage.

        Thanks again for your code and help :)