We are working with making Opera even faster on Windows machines using a technique named “PGO” (Profile Guided Optimizations”), and it’s time to show off the first results.

This is preview build for public testing. Note that auto update is disabled. If you like to check this build, just grab the installer.

What is PGO?

Most of Opera is written in C++ and it is the C++ compiler’s job to convert the C++ to machine code that a computer can run. Unfortunately it cannot try to make all the code fast because that would make the program huge (and slow) so instead it tries to find a balance where programs become reasonably fast.

With the help of Profile Guided Optimizations (PGO) we can do better. By selecting a number of important scenarios, the training set, we can teach the compiler what code is important and what is less important. There is for instance code to handle errors and rarely used web features which does not have to be extremely fast and can instead be made small and efficient. The same for code related to user interaction. It does not matter to a human if a click is processed in 2 milliseconds or 1 millisecond since humans are slow.

Test environment

The results below are from a computer running Windows 7 x64 using an i7-6700 CPU locked at 3.4 GHz. In the startup tests Opera was stored on an SSD. We’ve compared x64 build number 43.0.2440.0 compiled with and without PGO.

Results

We see improvements on a lot of different tasks so we think we have trained the compiler well. It now seems to do a good job optimizing the most important parts of the browser. Below are some numbers we have collected but note that this is still work in progress and this is just snapshot data.

Startup time

We see a 13% faster startup in our testing using the computer described above (SSD and enough RAM to avoid paging).

Web page library speed

The Speedometer benchmark is 5% faster with PGO.

 

pgo-benchmarks

JavaScript performance

Since JavaScript is not compiled by the C++ compiler, we would not expect much change. However tests show that:

The Sunspider benchmark is 2.4% faster with PGO.

The Octane benchmark is 1% faster with PGO.

Future

We are still tuning the builds to get the largest impact. We want to have the largest improvements where it matters the most and I don’t think we’ve reached the optimal training set yet.

Installation links:

Back to top
  • Sam

    “Since JavaScript is not compiled by the C++ compiler, we would not expect much change.” No, but the JavaScript compiler is…

  • nanana1

    First to PGO even though it is really difficult to understand what it mean to Opera browser users but doesn’t matter as long it is Faster 😉

    • Daniel Bratell

      That is it. It’s faster! Basically every page will load a bit faster, allowing you to watch a more pages per day. (Assuming 8 web pages per minute, 8 hours per day)

  • Кostadin

    Let’s give it a spin… 🙂 I think this is also the first installer above 50MB.

    • Daniel Bratell

      50 MB!

      x64 and some restructuring for PGO has contributed for the growth but I think we might shrink it a bit before the final release.

      • Ari

        I don’t think size is a problem on today’s hardware. If you can squeeze 10%-15% more speed than how this test build performs right now and the installer be 100MB I wouldn’t care at all.

  • Ralf Brinkmann

    Is this the new http://get.opera.com/ftp/pub/opera-developer/44.0.2440.0/? I don’t see the version number in the description on this page.

    • Кostadin

      Yep

  • Кostadin

    Desktop team, just checking – is this our Christmas treat, or we can expect one more this year 🙂

  • iYuzver

    Please do it:

    Synchronization Extensions.
    Native translate in Chrome.
    Recently closed tabs 50+.
    Disable display open tabs.
    Need a South Korea, China and Japan VPN!
    Management of downloading from a context menu: http://funkyimg.com/i/2jpGc.jpg

  • Angry Penguin

    Quick question:

    1. It only for Windows Opera? Or also for Mac and Linux?
    2. Any chance to get it also for Linux?

    • Ari

      1- It’s on the title.
      2- I don’t think so. The most advanced PGO implementation is done by latest Visual C++ library, owned by Microsoft, and only works on Windows. Chromium has been optimized too like a month ago and only for Windows.

      • Daniel Bratell

        I have not personally looked at PGO for Linux. Most of the work we’ve done for PGO (setting up training and multi-step build systems) should help if/when we do PGO for Linux but I don’t know when that would be.

  • Kai Ockendorf

    Thank you for the hard work to make Opera faster!! Speed improvements are always welcome 🙂 but before I test it…is this nasty bug gone like this white page for 15 seconds while installing & when I close the browser it took ages!! After that I saw the “loading circle” on my Desktop for a couple seconds…even now on my stable version! This drives me nuts…W10x64, O42x64

    • Ari

      Yeah, the loading circle has been there for several builds now.

      • Kai Ockendorf

        True!! Guess it’s about time that the Devs should fix this soon!! It really drives me nuts 🙁

  • L33t4opera

    Hi Daniel, thanks for the article, the PGO optimization is a really nice idea 😉

    Though there are only builds for Windows, I have decided to mention all new flags:
    – opera:flags#enable-memory-coordinator (Windows, Linux)
    Enable memory coordinator instead of memory pressure listeners.

    – opera:flags#cross-process-guests
    Highly experimental where guests such as are implemented on the out-of-process iframe infrastructure.

    – opera:flags#touch-bar-ui (Mac only)
    Enables integration of Touch Bar on supported MacBook Pro models.

  • Vux777

    in last couple of dev builds, browserAction and sidebarAction icons are blurry
    did you change default sizes or something?
    compared with stable 42

    • Known issue “DNA-58313: [Engine] Extension action icon got smaller”

  • tibukto

    When opening a new incognito window, the window title bar and controls aren’t drawn correctly. Switching to another window and back redraws the window correctly. I believe this issue was present since opera dev 43 build 2434. Opera Beta does not have this issue.

    • Known issue DNA-58435 “[Win] Titlebar not displayed properly in maximized private window.”

  • Łukasz Janik

    poland blog write, pleasse.

  • Tomasz Jankowski

    Upgrading from 43 dev. Nothing works, pages not loading. Lack of access to options. Do not load Extensions. Total did not work.

    • Marko Koivuniemi

      Happened to me also earlier – but not in this build. Something in the upgrade procedure is problematic. for me reinstall work – so it’s not related to build itself.

  • Cobalt

    Not working Esc key in fullscreen mode

    Steps to reproduce:
    1. Open any image. For example: http://jpegshare.net/images/14/bf/14bf84405837797523dc945798c29673.jpg
    2. Go to fullscreen mode (F11 key by default)
    3. Press Ctrl+A
    4. Then press Esc to exit fullscreen mode

    Actual result: Esc key does not work and does not allow you to exit fullscreen mode =(

    Expected result: The Esc key should work even after pressing Ctrl+A

    DNAWIZ-9999

    • Leonardo Gomes

      Didn’t you already report it before?

      • Cobalt

        Perhaps…

        • Leonardo Gomes

          So why are you reporting it again? There is no need of it.

    • Daniel Bratell

      We have indeed done some changes to how escape work in fullscreen mode. I think there is something left to do before it’s perfect but I don’t know if what you describes is known.

      Does escape clear the selection or does nothing happen at all?

      • Cobalt

        Does nothing happen at all =(

        • Kornelia

          I already moved your issue to DNA project. Thanks.

  • Ralf Brinkmann

    I don’t know if it is a problem of Opera or anything else: Opera loses the login from time to time on this page. I can not login again, because the login window for disquss apperars and disappears at once. After two or three times clicking the arrow for the login selection my name (and login) is back again.

    • L33t4opera

      Hi Ralf, it seems to be a problem with caching, and it occurs also in Chrome.
      Please try to reload the page using Ctrl/Shit+F5, and see if this helps.
      It seems, that the case is as follows: you can not log in again, because you are still logged in (the session has not expired), only its status is not recognized correctly, because of caching bug.

      • Ralf Brinkmann

        I think it was a hickup only for one day. Except of this little problem with the Chrome PDF viewer this version runs and runs and runs. I like it!

  • sgrandin

    My sense or experience of internet operations is that the biggest bottleneck, even in i7 machines, is not in the computer but to the computer, i.e., on the ISP/cable box/router end. Thus, what I’m missing is an explanation of why processing is so important now as a priority, as opposed to basic features that have been left behind.

    • Daniel Bratell

      We work on many things in parallel. In the last few months we have added prerendering and other predictive methods to work better on slow networks and those can indeed have a large impact. I am pretty happy on the progress we are making in many different performance areas.

  • nme

    Are those PGO improvements somewhat CPU architecture independant? I welcome the perf. increase in every case, but completing ‘X scenario’ on some high-end PC in 4.8 secs instead of 5 secs isn’t a really noticable improvement… But if the same scenario, running on a much older and weaker machine, completes in 15 instead of 25… That’s obviously the magical stuff people will far more likely notice – especially considering the fact that a lot of ppl still use mechanical hdds and old dual-cores…

    • Daniel Bratell

      The build is for a generic x64 (or i386) computer, but even if they have the same instructions, the instructions can be relatively slower or faster on different CPUs.

      So the effect can be different on different computers. If someone sees radically different improvements than we have seen we definitely want to know about it.

      For startup, especially cold startup, a slow hard drive will slow the startup down a lot compared to an SSD.

  • alexSuper

    I like the idea to open first page fast
    Is it possible to load page in advanced by, somehow, comparing history site?
    It is dumb to load all the next few pages in new tab and wait

    • Daniel Bratell

      That is an interesting idea. We do require it to be very certain though so that we don’t waste electricity and bandwidth unnecessarily.

  • Pierre771

    I don’t understand : why do you block the automatic update to this version ? Is it dangerous ?

    • M92

      This is even a more experimental release than most developer releases. That’s why it could be really buggy. However, it’s working fine for me.

      • BK

        Exactly. And thanks for confirmation 🙂

    • Leonardo Gomes

      I guess this build is not exactly part of the regular developer channel releases. Therefore, it should be treated as a separate release.

      • Pierre771

        It’s currently not the case : it uses the dev channel, the dev profile and the dev version number

        • Leonardo Gomes

          One thing may not exactly be related with the other. It has to use some profile and since the developer channel is the place to release experimental builds….

          There may be a high chance that next developer build is a regular one (non PGO) so that’s why this build should be seem as something apart.

    • Daniel Bratell

      We are working on some changes to autoupdate in relation to x64 (see comments on the last dev release) and didn’t want to wait for that to be fully tested. It was better to release this with a manual installer IMHO.

  • Pierre771

    It’s fast but the last were fast too. It works fine, anyway
    Thks for the version

  • Cobalt

    Send this to the Russian translators #2

    Screenshot: http://jpegshare.net/a0/7a/a07a807429325c0a3e97d31cc640668a.png.html

    DNAWIZ-10016

  • Pierre771

    The first startup is slow, the following ones are fast (more than before)

  • Ralf Brinkmann

    Chrome PDF Viewer enables itself.
    I have disabled the Chrome PDF Viewer plugin, because I want to downlad PDF files at once.
    After closing Opera and restarting it is enabled again.

    • epigastrium

      confirmed. All existing plugins (here e.g. it’s Widevine Content Decryption Module/Chrome PDF Viewer/News feed handler) are activated again after Opera restart. Though all deactivated before at ‘chrome://plugins/’!
      => back to v43.0.2431.0, unless this bug is corrected.

  • Юлия

    How do you count? o.O
    https://i.imgur.com/f4QNViM.png
    definitely not left-to-right and top-to-bottom

    • mha2999

      its a mess….I mean modern

      • Gloriam

        Would be nice if they changed this.

  • Leonardo Gomes

    Nice new layout.

    • Ralf Brinkmann

      Which new layout?

      • Кostadin

        the blog’s one 🙂

        • Ralf Brinkmann

          Oh yes, I found it out now. Shit, what a shock! 🙂 You think you know everything in the world and then they secretley change the layout. I don’t know how to live with all these new things. I think I go to the Weihnachtsmarkt today and drink some mulled wine. Cheers!

          • Kai Ockendorf

            Haha…Cheers! 🙂

          • Кostadin

            Man, everything OK with you after last night?

          • Ralf Brinkmann

            Oh yes, thank you. The alcohol free wine was not too strong. 😉 And Opera is still running.

  • SiMcarD

    New layout, no new build? 😉

    • Leonardo Gomes

      This one was release a couple of business days ago. Next only in 2017, most probably.

  • Springer

    That is some poor layout you got going there. Hope it is a christmas troll that have been by, and it’s not ment to stay like that forever :/

  • Ghirahim

    I haven’t tried this version yet but in the older versions I have a problem with speed dial. Sometimes when I open it, this happens:

    https://abload.de/img/11bkr3.png

  • Ralf Brinkmann

    What is “Opera Moment Developer”?
    http://get.opera.com/ftp/pub/opera-moment-developer/

    • M92

      I don’t know, but I want to try it as soon as possible.

    • M92

      Already tried it. It’s a new concept of browser. It’s really lightweight, it reinvents the concept of tabs and browsing. It’s pretty green but it’s a great idea. We can’t use our Opera account yet or extensions. It has a lot of build-in functions while its focus is privacy and speed.

      • Ralf Brinkmann

        Thank you for your report.

        • M92

          It’s a browser designed for casual users, I think. If the browser becomes more customizable, will be a great choice and maybe a new standard for browsers since the creation of Chrome.

          • Leonardo Gomes

            I liked its layout/design.

      • Ghirahim

        Screenshot(s), please.

    • Leonardo Gomes

      And it’s gone. I guess it was something that shouldn’t be there. 🙂

  • Ralf Brinkmann
  • SiMcarD

    All the videos in this site doesn’t start…
    http://video.gazzetta.it/inter-lazio-gabigol-rabona-che-fa-esplodere-meazza/9084a228-c7d4-11e6-884b-9180685031d3?intcmp=VideoBar&vclk=VideoBar|inter-lazio-gabigol-rabona-che-fa-esplodere-meazza

    • Leonardo Gomes

      Try disabling the ad-blocker for that page.

      BTW, the same happens in Chrome with Ublock Origin so it seems to be a list issue.

      • SiMcarD

        Thank you but it still doesn’t work.

        • Leonardo Gomes

          Strange, it worked here. Try reloading the page after have disabled the ad-blocker.

    • Ralf Brinkmann

      I really don’t see any video. Not one. With no browser. I have tried Opera, Google Chrome, Firefox, Vivaldi and Microsoft Edge (yes, I was really deadly). With and without any blocker. Not one of them saw any video or buttons to start them. Can you please give me a link to a specific video?

      • Leonardo Gomes

        Do you see the (big) image on it? This is the video. However it will only play if you disable the ad-blocker.

        • Ralf Brinkmann

          I see a big image, but without any play button. In all browsers. And it doesn’t matter if uBlock is enabled or not. When I open the link from SiMcarD (http://video.gazzetta.it/), then there is the same big image WITH play button. When I click on this play button, the image changes to one without play button. And the story repeats.

      • SiMcarD

        This is the video page:
        http://video.gazzetta.it/

    • SiMcarD

      Finally I found that the problem was related to this extension:
      https://addons.opera.com/it/extensions/details/i-dont-care-about-cookies/?display=en
      I see that in the other browsers the site doesn’t open until I accept cookies policy.

      • Ralf Brinkmann

        Thank you for reporting the solution!

  • Seweryn Jaworski

    Click green lock on youtube site (several other sites also) and Opera just crash.
    http://oi63.tinypic.com/xauon8.jpg
    Win10 x64 OperaPGO

    • SiMcarD

      Confirmed.

    • Przemek Kudła

      Thanks for the report, DNA-58519 – fixed already.

  • L33t4opera

    The first Opera developer 44.0.2463.0 in 2017 😉