Announcement

Collapse
No announcement yet.

A Quick Look At The Firefox 66.0 vs. Chrome 73.0 Performance Benchmarks

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

  • #41
    Originally posted by debianxfce View Post

    There is far more software written with C/C++ than with rust. Rust, java etc are for rusty programmers who are in the wrong field and should not be programmers at all. It is easy to prevent memory allocation errors, just be awake when you code.
    Rust and Java are completely different, for anyone reading this who thinks they're in any way comparable to each other.

    Comment


    • #42
      Originally posted by debianxfce View Post

      Rust and Java are developed after C/C++ for rusty people.
      I'm not sure what "rusty people" even means. Not a native english speaker?

      Comment


      • #43
        Originally posted by smitty3268 View Post

        I'm not sure what "rusty people" even means. Not a native english speaker?
        Last Sunday I had to wire wheel some rust off of my steel before I could paint it. I was then covered in rust dust. That make me a rusty person.

        Comment


        • #44
          Originally posted by smitty3268 View Post

          I'm not sure what "rusty people" even means. Not a native english speaker?
          Rusty is an idiom meaning "out of practice".

          Comment


          • #45
            Originally posted by dremon_nl View Post
            And why would that be the case considering that Rust is a language that compiles into native code via LLVM backend without garbage collection and with fine-controlled stack/heap memory allocations?
            WTF are you claiming every compiled language is the same? It's more about the principles upon which you code and how you code it. You can definitely code poor C code, but C tends to be more focused around low level workings than abstractions, that's exactly what makes it faster. Sure you can do that with Rust, but nobody does it that's the problem.

            Originally posted by dremon_nl View Post
            I can imagine that a certain low level C code can outperform it by marginal 0.1% simply because C is basically an assembler without any safe checks whatsoever but a) Rust can do most of it as well via unsafe blocks and b) the point is not in squeezing few cpu cycles but in writing secure code without losing practical performance and eliminating the biggest source of errors in any non-trivial application - the human.
            No C can be much faster than Rust because most C programmers don't consider hacks as "ugly", with some exceptions. They're used to them, hence C is much better than Rust, due to mentality of the coders using it.

            That's why you also see some C projects have awful performance, because they're run by people with a special brain that mis-use a low level language like C, at which point you wonder why are they using C at all.

            C++ can be faster than C in some cases if you go purely by compilation binary code quality. The keyword I used was proper C/C++ but obviously you guys missed it. Mozilla's C++ code is abstracted junk so it's piss poor just like Rust. Unfortunately, 99% of C++ code is worse. Linus hates C++ but he hates the people using it even more, guess why?

            Proper C++ is C with extensions.

            Comment


            • #46
              Originally posted by starshipeleven View Post
              write assember or go home.
              Unfortunately assembler is high maintenance because it varies with each CPU uarch so you have to constantly update it if you want speed.

              Comment


              • #47
                Originally posted by Michael_S View Post
                Firefox was 0% Rust five years ago and it got crushed by Chrome in all performance comparisons anyway.

                The problem is just old code and two orders of magnitude less resources to throw at performance engineering than Google.
                You missed the keyword proper in my post.

                See my reply here: https://www.phoronix.com/forums/foru...36#post1088336

                One easy example would be the PIMPL idiom in C++. It hurts performance due to extra pointer indirection. Sure, it's minor, but it's an example of a design flaw in terms of performance. No compiler will be able to fix this because it won't fix your code design. There is no such thing in C.

                You don't have to use it in C++, but people do, and that's the problem. This is also why Rust sucks.
                Last edited by Weasel; 23 March 2019, 09:19 AM.

                Comment


                • #48
                  Originally posted by Luke View Post

                  There is a counter to this, as there is to all of Firefox's nasty anti-features: turn top sites, features sites, and ad links in new tabs all the way off, so a new tab gives a blank page.
                  I do that too.

                  Originally posted by Luke View Post
                  I so hate the antifeatures of all modern browsers other than dedicated privacy browsers like EPIC that I configure them offline, turning off all the phone home and monetization shit, then online updating my privacy extensions. I will NOT permit Firefox in default setup to connect to the Internet at all, not even once. My Firefox setup looks like one from 15 years ago would on an Internet totally devoid of ads and to trackers should look like a ghost.

                  I uninstalled Chromium in the 2012 era when browser fingerprinting became a commonly known cookieless tracking attack mode. In testing browsers with Panopticlick, it wasn't too hard to configure Firefox to be untrackable by a random site when JS is disabled, but was impossible in Chromium, which probably is designed by Google to be as trackable as possible since Google's primary business is targetted advertising.

                  Indeed, I would rather have a slow browser than a trackable browser. Miniumum standard of performance would be to load bare text in less than 30 seconds if the connection supports it, and an ad and tracker friendly browser cannot be used at all except on sites known in advance to be free of ads and trackers, and not even then if I have any suspicion of covert phoning home with keystroke "snippets"(like Google Keyboard on Android does unless that's turned off), browsing histories, etc. A lack of direct suspicion is not enough, I require my browsers to prove on Wireshark that they are not connecting to anything I don't willfully connect them to.

                  Chromium (being open source) is theoretically as valid a base for writing a privacy browser as Firefox is, assuming you are forking it and altering the source as needed. With Firefox, all the known antifeatures can be turned off in about:config, and extensions can block ads, trackers, and attackware though it is true extensions will be slower than writing this directly into the browser's native code. Slower but still plenty fast, and trackers should find getting your personal information works about as fast as brute-forcing hugely long and random passphrases does.
                  I have mixed feelings about this. There are sites like sourcehut.org which have zero JS, and it's a beautiful browsing experience. No nonsense. No wasted bandwidth.

                  On the other hand, maybe the most important thing the web is moving towards these days is offline-first Progressive Web Apps (PWAs). Go to a website once, get a web page that you can run and do useful stuff with completely offline, or with periodic connectivity. Native applications are better, period, but the important thing about offline-first PWAs is that they can work on any operating system that can run a modern browser. If the world has any chance to break the Android/iOS duopoly this is probably the route it will have to take.

                  Originally posted by debianxfce View Post

                  There is far more software written with C/C++ than with rust. Rust, java etc are for rusty programmers who are in the wrong field and should not be programmers at all. It is easy to prevent memory allocation errors, just be awake when you code.
                  List all of the 100,000+ line C or C++ projects that never had to release a security fix for a problem Rust and Java can't have, ever. You won't be able to do it, because they don't exist. (Edit: So I guess the Linux kernel contributors and Chromium contributors are 'in the wrong field and should not be programmers at all'. Good to know.)

                  Comment


                  • #49
                    Originally posted by Weasel View Post
                    Unfortunately assembler is high maintenance because it varies with each CPU uarch so you have to constantly update it if you want speed.
                    That wasn't my point and you know it.

                    Comment


                    • #50
                      Originally posted by Weasel View Post
                      Linus hates C++ but he hates the people using it even more, guess why?
                      Because of reasons that nowadays may or may not still hold true anymore? (I think one of the big reasons was that C++ was not standardized back then and each compiler was adding his own stuff)

                      Really, the main reason he does not want C++ in the kernel right now is that he does not see benefit in using most C++ features at all (which is 100% understandable as they were made for userspace application development, aka to abstract complexity so that the developer can deal with it faster)

                      Comment

                      Working...
                      X