Announcement

Collapse
No announcement yet.

Rav1e 0.3.1 Is 25~40% Faster At Low Speed Levels For Rust-Based AV1 Encoding

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

  • #11
    Originally posted by Sin2x View Post
    This is not a showcase for Rust at all, since all the optimization is in Assembly.
    It depends what you're after. Not having to worry too much about the input parameters (among other things) causing undesired effects surely puts Rust in a good light.

    Comment


    • #12
      Originally posted by Sin2x View Post
      This is not a showcase for Rust at all, since all the optimization is in Assembly.
      Welcome to the land of low-level programming

      Comment


      • #13
        Originally posted by bug77 View Post

        It depends what you're after. Not having to worry too much about the input parameters (among other things) causing undesired effects surely puts Rust in a good light.
        But, can they really claim to be the "safest" encoder around, if they put some manual assembly in there?

        Comment


        • #14
          Originally posted by AndyChow View Post

          But, can they really claim to be the "safest" encoder around, if they put some manual assembly in there?
          They use the assembly from dav1d(the widely used av1 decoder) so it will be tested a lot on the dav1d side. Not sure if they have any rav1e specific assembly.
          From the README
          you may set the environment variable RAV1E_CPU_TARGET to rust to disable all the assembly-optimized routines at the runtime.
          but i guess the speed impact will be big.(EDIT: on a core2quad speed10 tiles 2x2 sse2+ssse3 0.484fps->0.145fps 20m38s->68m44s)

          I think it compares against encoder mostly written in C
          svt-av1 has
          • C 92.0% C++ 6.5% Assembly 0.9%
          libaom(did check a github mirror from sep 2019 but should not have changed much)
          • C 77.3% C++ 14.0% Objective-C 3.1% Assembly 2.0%
          and rav1e has(i guess it would be more % rust if we look at the dependency that cargo will use while building )
          • Assembly 56.8% Rust 42.9%
          Last edited by Toggleton; 23 February 2020, 05:46 AM.

          Comment


          • #15
            Originally posted by AndyChow View Post

            But, can they really claim to be the "safest" encoder around, if they put some manual assembly in there?
            They didn't say "bulletproof" or "unbreakable". As long as it's safer than all other encoders, it's the safest of the bunch.

            The whole idea of safe code in Rust is not that all programs will magically work. They won't. The promise is to curb one specific category of problems related to memory management that are both pervasive at systems coding level and annoying to debug. Thus freeing the developer to shift their focus elsewhere.

            Comment

            Working...
            X