awful.systems
  • Communities
  • Create Post
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
chimay to Programming@programming.dev • 3 days ago

C is one of the most energy saving language

message-square
80
fedilink
100
message-square

C is one of the most energy saving language

chimay to Programming@programming.dev • 3 days ago
message-square
80
fedilink

cross-posted from: https://lemmy.world/post/31184706

C is one of the top languages in terms of speed, memory and energy

https://www.threads.com/@engineerscodex/post/C9_R-uhvGbv?hl=en

  • @Mihies@programming.dev
    link
    fedilink
    14•3 days ago

    Also the difference between TS and JS doesn’t make sense at first glance. 🤷‍♂️ I guess I need to read the research.

    • @Feyd@programming.dev
      link
      fedilink
      6•3 days ago

      My first thought is perhaps the TS is not targeting ESNext so they’re getting hit with polyfills or something

    • @TCB13@lemmy.world
      link
      fedilink
      English
      4•
      edit-2
      3 days ago

      It does, the “compiler” adds a bunch of extra garbage for extra safety that really does have an impact.

      • @pHr34kY@lemmy.world
        link
        fedilink
        4•3 days ago

        I thought the idea of TS is that it strongly types everything so that the JS interpreter doesn’t waste all of its time trying to figure out the best way to store a variable in RAM.

        • @Feyd@programming.dev
          link
          fedilink
          8•3 days ago

          TS is compiled to JS, so the JS interpreter isn’t privy to the type information. TS is basically a robust static analysis tool

        • @Colloidal@programming.dev
          link
          fedilink
          4•3 days ago

          The code is ultimately ran in a JS interpreter. AFAIK TS transpiles into JS, there’s no TS specific interpreter. But such a huge difference is unexpected to me.

          • @TCB13@lemmy.world
            link
            fedilink
            English
            3•3 days ago

            Its really not, have you noticed how an enum is transpiled? you end up with a function… a lot of other things follow the same pattern.

            • @Colloidal@programming.dev
              link
              fedilink
              1•2 days ago

              Nope, have not noticed because I hate JavaScript with a passion. Thanks for educating me.

              • @TCB13@lemmy.world
                link
                fedilink
                English
                2•2 days ago

                fair enough :D but it does happen and there are reasons for that: https://stackoverflow.com/questions/47363996/why-does-an-enum-transpile-into-a-function

                • @Colloidal@programming.dev
                  link
                  fedilink
                  2•2 days ago

                  Thanks! I hate JavaScript even more now 😄

              • @Feyd@programming.dev
                link
                fedilink
                1•2 days ago

                Just FYI the example that person gave would absolutely not explain a huge performance difference. I don’t think they understand what they’re looking at.

      • @mbtrhcs@feddit.org
        link
        fedilink
        1•3 days ago

        Only if you choose a lower language level as the target. Given these results I suspect the researchers had it output JS for something like ES5, meaning a bunch of polyfills for old browsers that they didn’t include in the JS-native implementation…

        • @TCB13@lemmy.world
          link
          fedilink
          English
          2•3 days ago

          Not really, because this stuff also happens: https://stackoverflow.com/questions/20278095/enums-in-typescript-what-is-the-javascript-code-doing a function call always has an inpact.

          • @mbtrhcs@feddit.org
            link
            fedilink
            1•1 day ago

            Yeah sure, you found the one notorious TypeScript feature that actually emits code, but a) this feature is recommended against and not used much to my knowledge and, more importantly, b) you cannot tell me that you genuinely believe the use of TypeScript enums – which generate extra function calls for a very limited number of operations – will 5x the energy consumption of the entire program.

            • @TCB13@lemmy.world
              link
              fedilink
              English
              1•20 hours ago

              This isn’t true, there are other features that “emit code”, that includes: namespaces, decorators and some cases even async / await (when targeting ES5 or ES6).

      • @Feyd@programming.dev
        link
        fedilink
        1•3 days ago

        Care to elaborate?

        • @TCB13@lemmy.world
          link
          fedilink
          English
          1•2 days ago

          Here’s a good example: https://stackoverflow.com/questions/47363996/why-does-an-enum-transpile-into-a-function

          • @Feyd@programming.dev
            link
            fedilink
            1•2 days ago

            That is not a good example. That is an immediate function call happening once when the program starts and certainly does not have a large impact like you are suggesting.

Programming@programming.dev

!programming@programming.dev

remote_follow_modal_title

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !programming@programming.dev

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



  • 175 users / day
  • 776 users / week
  • 2.94K users / month
  • 6.58K users / 6 months
  • 20.9K subscribers
  • 1.81K Posts
  • 22.8K Comments
  • Modlog
  • mods:
  • snowe
  • Ategon
  • @MaungaHikoi@lemmy.nz
  • @UlrikHD@programming.dev
  • BE: 0.19.3
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org