Announcement

Collapse
No announcement yet.

Rav1e Squeezes Out More Performance For This Rust-Written AV1 Encoder

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

  • #31
    Originally posted by milkylainen View Post

    Sure. But then you can hardly claim that "it's faster because omgbbq RUST!"
    I'm not one of those "Rust is the fastest & bestest language" tards

    I just appreciate the compiler safety checks for a, hopefully, safer executable that's less likely to bug out and have a catastrophic error. Better the compiler catch them, crap out, and tell us why, where, and with suggested fixes over the program crapping out and doing unforeseen actions followed by debug logs and trying to figure it out from there.

    That's what makes Rust good. It being close to or as fast as C is just an added benefit

    Comment


    • #32
      I might have missed it but one of the main reasons why we don't write in assembly is "portability". There is no such thing as assembly. You have to choose; x86 assembly, sparc64 assembly, arm64 assembly, etc.

      C is the lowest level technology that is portable. It is even sometimes referred to as portable assembly. C is as high level as is needed to generate portable constructs.

      In terms of usefulness and maintenance of libraries; using the lowest level albeit portable technology is often the best idea. C.

      Creating i.e Java bindings for this library written in Rust is harder than the same library written in C. This is why C and its offspring (C++, Obj-C) will live on (Yes, Objective-C will outlive Swift; you just wait and see .

      Comment


      • #33
        Write in XYZ lang so you have a program in a few weeks instead of a few months.

        Have a compiler and debugger that quickly finds problems to speed up the process of debugging.

        Spend a few weeks on some bottlenecks with either architecture specific Assembly, or by just rewriting it better.

        So in half the time you have already been able to get your program up and running, as well as begin to optimize the code.

        Writing in just assembly required much more planning and writing, but sure, once you do that and squash most of the bugs, it might be the best.

        Oh wait we want to add some new feature like 12-bit support and adding that breaks a bunch of stuff.

        Or you could have written in something else and let the compiler figure it out.

        Comment


        • #34
          Originally posted by kpedersen View Post
          I might have missed it but one of the main reasons why we don't write in assembly is "portability".
          You didn't miss it. And it's a great point.

          From what I can tell, AV1 has x86_64 and aarch64 assembly so far. So in theory, AV1 should be as portable to e.g. POWER as Rust is, but it might still be in need of some POWER specific assembly optimisation.

          Comment


          • #35
            Originally posted by ermo View Post

            You didn't miss it. And it's a great point.

            From what I can tell, AV1 has x86_64 and aarch64 assembly so far. So in theory, AV1 should be as portable to e.g. POWER as Rust is, but it might still be in need of some POWER specific assembly optimisation.
            AFAIK is a not that small part of the assembly is merged for AARCH64 and x86 from dav1d. PowerPC assembly is in a early stage https://code.videolan.org/videolan/dav1d/issues/281

            Comment

            Working...
            X