Announcement

Collapse
No announcement yet.

Rust Performance Is Getting Hurt On LLVM 10 With Noticeably Longer Build Times

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by Almindor View Post
    Sadly LLVM devs have a tendency to ignore issues related to only Rust (see years old aliasing bugs in LLVM that'd make Rust outperform even C in some cases).

    I don't think this will get fixed anytime soon.
    Now that llvm has it's own official in-tree Fortran frontend (flang), hopefully they'll start taking aliasing bugs more seriously.

    Comment


    • #22
      Originally posted by Candy View Post

      No one cares for a soon to be dead language. It's basicly dead on delivery.
      I read that 9 years ago when Rust was first released, I'll read that 9 years from now.
      I'm not terribly fond of its syntax, but the idea behind it is something that will be a must in system-programming languages to come. And while I don't use it much, simply thinking about implementing something in Rust will help you avoid some design issues.
      Last edited by bug77; 10 May 2020, 06:21 PM.

      Comment


      • #23
        Originally posted by Shiba View Post
        As if it isn't already a giant pain in the a** compiling programs in Rust...
        How so? I find Cargo incredibly user friendly. Compiling C, C++ or Go is always a horrible mess in comparison.

        Comment


        • #24
          Originally posted by Raka555 View Post

          Not getting into a language war

          I suspect he got Ruby and Python mixed up. Python is Cool and Ruby is Beautiful. Agree with the rest, however.

          Well written Ruby code is a work of art. Too bad less than 1% of all Ruby developers know how to write proper Ruby code. Everyone uses Python nowadays because it's the cool language on the block. Python has a huge ecosystem with Machine Learning, AI, etc. However, it's syntax is just awful. It gets damn near everything right except the syntax.

          Oh and PHP doesn't even deserve to be on the list.

          Comment


          • #25
            Originally posted by jabl View Post

            Now that llvm has it's own official in-tree Fortran frontend (flang), hopefully they'll start taking aliasing bugs more seriously.
            http://lists.llvm.org/pipermail/llvm...ay/141426.html

            Comment


            • #26
              Originally posted by Candy View Post

              No one cares for a soon to be dead language. It's basicly dead on delivery.
              Since this smells of troll.. let's roll!

              Did you fail on the 1st lifetime issue and get cranky?

              Comment


              • #27
                Originally posted by Raka555 View Post
                Maybe the rust people will rewrite it in rust ...

                (I will actually cheer for them this time, if they do)
                There is cranelift, currently mostly for JIT-ing WASM, but they want to go deeper into optimisation. Also there is mrustc which compiles Rust to C, but it is still in C++ and does no borrow checking.

                Comment


                • #28
                  Originally posted by betam4x View Post

                  I suspect he got Ruby and Python mixed up. Python is Cool and Ruby is Beautiful. Agree with the rest, however.

                  Well written Ruby code is a work of art. Too bad less than 1% of all Ruby developers know how to write proper Ruby code. Everyone uses Python nowadays because it's the cool language on the block. Python has a huge ecosystem with Machine Learning, AI, etc. However, it's syntax is just awful. It gets damn near everything right except the syntax.

                  Oh and PHP doesn't even deserve to be on the list.
                  It seems to me the whole list is actually ironic - whether deliberately or involuntarily. Haskell is not "intriguing" : there is nothing experimental or fundamentally new about it, it's based on known and very well understood principles. To the extent that "awesome" actually means something, JavaScript is as "awesome" as Perl is readable, assembly is portable, C++ is safe and Ada is concise. "Cool" and "beautiful" are subjective notions that someone can apply to pretty much any language in existence. Java is widely used but that is not the same as "popular". Do many people actually LOVE Java? Would they voluntarily chose it for a new project developed from scratch, with no requirements to integrate with an existing framework and no need to be "management compliant"? Last but not least, C is not actually NOT FAST. Its unpredictable pointer aliasing and excessive reliance on "base+offset" addressing, together with weak and dumb typing, means that implementing escape analysis, autovectoring and many other optimisations is considerably more difficult in C than in some other languages. Not to mention C's endemic memory leaks and the stupid idea of having strings terminated by \0, rather than the Pascal-style "pointer + length" representation, which makes even something as basic as strlen() a O(n) operation instead of O(1). The reason why C has a reputation for being fast (and really often is in practice) is because due to its widespread use, more effort went into the optimisation of C compilers than any other language and, by the same token, CPU manufacturers base their branch predictors and other heuristics on analysing existing C code and then effectively hardcode many C's quirks and weirdnesses into silicon.
                  Last edited by jacob; 10 May 2020, 09:42 PM.

                  Comment


                  • #29
                    Originally posted by betam4x View Post
                    It gets damn near everything right except the syntax.
                    No immutability. No type-checking. No switch statements. Function-level scoping. A standard library crammed full of stuff that only sorta works. Memory usage. Exceptions.

                    Comment


                    • #30
                      Originally posted by Mario Junior View Post
                      >llvm
                      >rust
                      Both bloat and slow crap.
                      Uh, what? Clearly you have never actually used rust or looked at some rust benchmarks. Yeah, the build process can be slow, especially when the thing you want to compile needs dependencies – because all those dependencies are compiled from source. Rust programs are pretty damn fast though when using an optimized build. Default build options might make the binaries look bloated, because they are statically linked and include symbols so you can generate stacktraces if things go wrong. You can disable stack traces and strip symbols though, which will shrink binaries significantly if that's important to you.

                      it's more ABSURD to think about wanting to [..] develop a kernel or operating system using Rust as a base.
                      There actually is a Rust operating system / kernel: https://www.redox-os.org/

                      Comment

                      Working...
                      X