In[]:=
data=Import["https://gist.githubusercontent.com/alen-z/6d366a1cc2fbd1bdf35b637f90df5b4e/raw/39afe2ab9de63d6ad28dcf928673d3ef4a600d00/global-latency-sites.csv","Data"]
Out[]=
{{fing_src,fing_dest,rtt_avg_ms},{aws-me-south-1b,www.halliburton.com,0.14},{aws-me-south-1b,www.weyerhaeuser.com,0.14},
⋯87369⋯
,{ali-ap-southeast-3a,ali-ap-southeast-2b,1449.53},{ali-ap-southeast-3b,ali-ap-southeast-2b,1454.51}}
large output
show less
show more
show all
set size limit...
In[]:=
vertices={};​​For[i=2,i≤Length[data],i++,AppendTo[vertices,ToString[data[[i,1]]]ToString[data[[i,2]]]]]​​vertices
Cloud
::timelimit
:This computation has exceeded the time limit for your plan.
​
Out[]=
$Aborted
Out[]=
{aws-me-south-1bwww.halliburton.com,aws-me-south-1bwww.weyerhaeuser.com,aws-me-south-1bwww.campbellsoupcompany.com,
⋯55335⋯
,gcp-instance-europe-west2-bwww.vistraenergy.com,azure-vm-canadacentraldroplet-lon1}
large output
show less
show more
show all
set size limit...
In[]:=
edgeweights={};​​For[i=2,i≤Length[data],i++,AppendTo[edgeweights,data[[i,3]]]]​​edgeweights
Out[]=
{0.14,0.14,0.14,0.14,0.14,0.14,0.15,0.15,0.15,0.15,0.2,0.21,0.21,0.21,0.21,0.21,0.21,0.22,
⋯87337⋯
,1408.15,1409.92,1413.31,1415.21,1415.86,1418.26,1418.33,1421.95,1422.08,1425.26,1425.89,1428.86,1431.2,1433.78,1434.15,1440.34,1449.53,1454.51}
large output
show less
show more
show all
set size limit...
In[]:=
g=Graph[vertices,EdgeWeightedgeweights]
Graph
Vertex count: 509
Edge count: 87373

In[]:=
FindShortestPath[g,"mymac","www.apple.com"]
Out[]=
{mymac,aws-eu-central-1c,linode-instance-eu-central,www.apple.com}
In[]:=
FindShortestPath[g,"ali-eu-west-1b","ali-ap-southeast-2a"]
Out[]=
{ali-eu-west-1b,droplet-lon1,droplet-sgp1,linode-instance-ap-south,linode-instance-ap-southeast,ali-ap-southeast-2a}