A well-known problem for which it is difficult to improve the textbook algorithm is computing the graph diameter. We present two versions of a simple algorithm (one being Monte Carlo and the other deterministic) that for every fixed h and unweighted undirected graph G with n vertices and m edges, either correctly concludes that diam(G) < hn or outputs diam(G), in time O(m+n^{1+o(1)}). The algorithm combines a simple randomized strategy for this problem (Damaschke, IWOCA'16) with a popular framework for computing graph distances that is based on range trees (Cabello and Knauer, Computational Geometry'09). We also prove that under the Strong Exponential Time Hypothesis (SETH), we cannot compute the diameter of a given n-vertex graph in truly subquadratic time, even if the diameter is an Theta(n/log{n}).