40ms is me essentially connecting halfway across the country. A Digital Ocean droplet in SF or NY is ~40ms.
11-12ms to a Google CDN from your colo? That's insane to me. Pinging from my colo to Google using the ping utility from iputils for 50 packets gives an average ping of 1.6ms. Akamai pings at 2.1ms.
I'm not sure what the difference is between the two.
I've seen fast-mode DSL around 7ms, interleaved DSL around 20 ms, cable usually 5-10 ms, but highly variable. ATT GPON was 5 ms which I thought was pretty high, although fiber should really be sub 1 ms.
I've seen LTE between 10 and 60 ms (or worse, when it's congested), older technologies are usually quite a bit more.
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=115 time=12.7 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=115 time=11.4 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=115 time=10.6 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=115 time=10.9 ms
I get about the same from my home cable internet connection.
--8<--
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=14.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=15.8 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=14.8 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 14.774/15.162/15.828/0.473 ms-->8--