Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Chrome Google IT Technology

Google's Unfair Performance Advantage in Chrome (ctrl.blog) 37

An anonymous reader shares a post: Google Chrome for Android has a feature that gives Google Search an unfair advantage over its competition. Sure, it's the default search engine and that's a huge hurdle to overcome for any competitor. However, Chrome also reserves a performance-boosting feature for Google Search exclusively. I recently poked around in the Chromium project source code; the open-source foundation for Google's Chrome web browser. The Chromium project is co-developed by Google, and other corporate and individual contributors. The project is managed and controlled by Google, however. I was looking for something else when I stumbled upon a feature called PreconnectToSearch. When enabled, the feature preemptively opens and maintains a connection to the default search engine.

The preconnection feature resolves the domain name, and negotiates and sets up a secure connection to the server. All these things take time and they must happen before the search engine can receive the users' search queries. Preempting these steps can save a dozen seconds on a slow network connection or half a second on a fast connection. This optimization can yield a nice performance boost for Google's customers. Assuming the connection only requires a trivial amount of processing power and network bandwidth, of course. Setting up the connection early can be wasteful or slow down the loading of other pages if the user isn't going to search the web. There's just one small catch: Chromium checks the default search engine setting, and only enables the feature when it's set to Google Search. This preferential treatment means no other search engine can compete with Google Search on the time it takes to load search results. Every competitor must wait until the user has started to type a search query before Chrome will establish a connection.

This discussion has been archived. No new comments can be posted.

Google's Unfair Performance Advantage in Chrome

Comments Filter:
  • by Baconsmoke ( 6186954 ) on Friday July 09, 2021 @04:34PM (#61567545)
    There are thousands of hooks in the OS specifically written for how Office works giving it a lot of under the hood advantages compared to other Office style products. I'm not a fan of it, but on the flipside it makes sense that companies use any advantage they can come up with to make people want to stay inside their software environments.
  • Not so fast... (Score:5, Insightful)

    by mysidia ( 191772 ) on Friday July 09, 2021 @04:46PM (#61567565)

    Every competitor must wait until the user has started to type a search query before Chrome will establish a connection.

    Not so fast... Have other search engines asked for the PreConnect feature?

    Google can put this in the browser for their own servers, Because they own those servers, and therefore... they can work out what Impact this has on their own servers and Consent to this non-standard behavior which will chew up resources and cause extra load - even when people aren't searching.

    Other search engines may have a different decision process... Not every search engine is necessarily wanting to make the decision to take potentially millions of Web connections not associated with a query or request.

    Logically speaking: They should get permission, Or have those search engines request the feature, Or offer up consent for this in some way.

    If those search engines have not done so, then it's not fair to say they are being penalized or being given poor treatment.

    • Re:Not so fast... (Score:5, Insightful)

      by EvilSS ( 557649 ) on Friday July 09, 2021 @05:13PM (#61567635)
      Very true. Of course, the other question is has Google told other search engines about the PreConnect feature and created a way for them to ask?
      • Yes. There's a way to ask. They can implement whatever optimization they see fit in both the client and their servers and open a pull request in the chromium repo. A search engine is likely not a mom and pop shop, so they should have the resources and technical expertise to do this themselves, just like Google did. It's up to Google to accept or not the changes, of course, and to propagate or not the changes from chromium to chrome, but the process to push the changes exists. So unless some search engine h
      • by Luthair ( 847766 )
        At least one of them also runs their own search engine.
      • They could just read the documentation. I tried posting the link but

        Post aborted! Filter error: Looks like ascii art

        so just google it. Oh wait, this is super secret and only was exposed by SuperBlogger's expansive investigation skills, so be sure to give him some ad money by visiting his site.

      • by AmiMoJo ( 196126 )

        According to TFA this code was only added this year, so chances are it's still undergoing testing by Google to check that it does improve performance and what the extra load it creates is.

    • This. The story could easily be turned around blaming google from provoking unwanted traffic and enabling DOS on competitors.
    • Comment removed based on user account deletion
      • These are metrics Google themselves has invented out of thin air because from their point of view, slow loading webpages are a problem when they're trying to index the entire Internet.

        Google doesn't give a shit how long it takes to complete a query. They just kick off more parallel queries.

        • by mysidia ( 191772 )

          Google doesn't give a shit how long it takes to complete a query. They just kick off more parallel queries.

          I, and I imagine many websites limit the number of simultaneous open connections and active queries per IP Address range to the web service port to discourage DoS attempts to about 3 connections per IP and 10 from the same major network range X.Y.*.*/16 block -- attempting to kick off more than a couple parallel queries would mean the additional connections get stuffed into the listening queue and

          • Right, but they're indexing the internet. If it takes a long time to index your content that's your problem from their standpoint, as if nobody can find your content, nobody will visit it. They'll get it sooner or later.

      • by mysidia ( 191772 )

        We're not using 14.4kbps modems any more

        We should not be. There are still people in the US who rely on Dial-Up as their sole access to the internet, though.

        The ones I know of were all in a highly rural area with no broadband other than Satellite which a lot of customers were not willing to buy because of the high costs.

        I would not say this is a Google monopoly problem though. People willing to use such connections are going to have different expectations and a ton more patience, AND the abusive monopol

  • by lpq ( 583377 ) on Friday July 09, 2021 @04:52PM (#61567583) Homepage Journal

    Good reason not to put everything in 1 provider (i.e. if you use chrome, use a different search default (DuckDuckGo), or if you are wed to Gsearch, use a different browser.

    Putting all your services on google is gonna really hurt should they ever disable your account.

  • by CrappySnackPlane ( 7852536 ) on Friday July 09, 2021 @05:00PM (#61567603)

    Imagine if Android did this by default on all search engines - I think it's likely there'd be a fuss along the lines of "Chrome Users Inadvertently DDoSing Rival Search Engines With Automatic Sustained Connections".

    I'm not trying to white knight Google here, but all these persistent connections do hog server resources, and it seems like it'd be shitty bad-neighbor stuff to do that to servers Google wasn't in charge of.

    • by kqs ( 1038910 )

      Imagine if Android did this by default on all search engines - I think it's likely there'd be a fuss along the lines of "Chrome Users Inadvertently DDoSing Rival Search Engines With Automatic Sustained Connections".

      Close, it would be "Evil Google proves that Dont Be Evil is dead by intentionally and evilly DOSing rival search engines, because they are evil. Also, Evil."

    • Why would it connect to every provider? Just preconnect to the default one. The point is it ONLY does this to a) google and b) when google is default.

  • Out of curiosity, does anyone have a clear idea of either the timeout of the “secure connection to the server”, at least on the client side?

    Reason for asking is I’m wondering if this feature could be a performance hit, say in battery terms, on the handset. The article makes clear that this feature is specific to Android (maybe ChromeOS too) but it doesn’t say what happens if the connection times out due to inactivity.

    We would expect this to happen at some point, since even Goog
    • You are in control.
      If you don't want the data or battery hit, change your default search provider.

    • My guess is that this is why the check for which search provider you're using is present: the feature requires cooperation from the server to handle keep-alive and timeouts properly, so it's only enabled for search providers which support it (currently only Google Search, since they wrote the feature).

  • Preempting these steps can save a dozen seconds on a slow network connection or half a second on a fast connection.

    And this is an issue, how? Someone explain to me how saving a half second on a search can in any way affect one's life? Even saving twelve seconds on a slow connection is irrelevant.

    If you're that hard up that those fractions of seconds dictate your life, you have more serious problems. And no, adding up all that "extra" time across a year is also not meaningful.

  • "I stumbled upon a feature called PreconnectToSearch. When enabled, the feature preemptively opens and maintains a connection to the default search engine."

    "Chromium checks the default search engine setting, and only enables the feature when it’s set to Google Search"

    Sounds like something Microsoft would do. Like make the text rendered in the browser jagged if it's Opera.
  • Always follow the money.. Who has the most to gain by "reporting" BS?

  • Storm in a Teacup. (Score:5, Informative)

    by DeathSquid ( 937219 ) on Friday July 09, 2021 @10:48PM (#61568375)

    Ex-Chrome engineer here. How long does it take to type enough of a search query to start autocomplete? More than a half second? The connection will usually be established by then, much faster if the TLS session is resumed. QUIC 0RTT is even faster.

    Chrome runs experiments all the time, often only against Google infrastructure. The reason is because Chrome has billions of users. It is not OK to suddenly DDoS a third party website.

    A lot of experiments don't work out. Some do, and are standardised in some way. I have no idea if this one is effective... Chrome cares a lot about users in the developing world and maybe this is a win there. The data will tell. But users on modern devices and networks will not suffer any ill effect even if they choose a different search engine.

    • Google autocomplete is irritating. Chrome makes autocomplete irritate *faster*.

      I want autocomplete with selection, but not immediate search; thus allowing me to edit / append the query.

      While we're at it: Google needs a switch to turn off synonyms / related-terms. I'm not asking for regex, just sub-string match. Quoting the terms / phrase either only makes small improvements in results, or no results at all. Which appears to mean that Google's database is optimized for popular searches.

      Heck with it.
      Googl

  • The computer in most pockets is also a phone.
    Any computer that runs Chrome should also be subject to the same internet Search engine criteria as any other computer.
    Size and type of the machine using Chrome should not matter.

  • For Android it's Google
    For iOS it's Apple
    and for the 2 windows phones it's MS.

    There's nobody else left.

"Imitation is the sincerest form of television." -- The New Mighty Mouse

Working...