Brute force is as effective as you will get, but it hinges on choice of the "test set"
Since your function is a black-box, and you are unwilling to stipulate any structure for it beyond the fact that it is first-order differentiable, any computational check of convexity is essentially going to boil down to a "brute force" check of convexity over some limited number of distinct input points $x_1 < \cdots < x_n$ (which I will call the "test set").
In your case you can compute the function value and the first-derivative at each point, so there are essentially two things you need to confirm: (1) that the function is convex with respect to every triple of points;$^\dagger$ and (2) that the first derivative is nondecreasing at consecutive points. It is worth noting that this first test is actually significantly less computationally intensive than you are presenting in your question. Because you are dealing with a univariate function, all you need to check is the convexity of consecutive triplets of points. (For a univariate function, if consecutive triples are convex then all triples must be convex.) This means that you will need to make $n-2$ convexity checks and $n-1$ derivative checks, which is computationally linear in $n$.
Suppose you do that and you confirm convexity over the test set. That is great, but of course the test set is only a finite number of values in the domain of the function. Ultimately, you are going to have to decide on what is a "good" way to generate the test set, which is going to require some assumptions about which parts of the domain of the function are "better" to test. With no further information about the function this is an arbitrary choice, but you might prefer a test set that is highly diffuse (i.e., has high variance). Ultimately, if you just have a black-box function over the entire real line then nothing can really mitigate this problem. No matter how many points you test, there will still be infinitely long regions of the real line that you did not test, and there will still be gaps between the points where you did not test. There is always the possibility that convexity fails in an area that you did not test (either beyond the boundary points of the test set or within the gaps between points in the test set).
$^\dagger$ To be clear, what I mean here by testing convexity for a triple of points is checking the inequality constraint that defines convexity with the middle-point of the triple being the interpolated point. For any triple of points $a<b<c$ in the test set, this would mean checking that:
$$f(b) \leqslant \frac{b-a}{c-a} \cdot f(a) + \frac{c-b}{c-a} \cdot f(c).$$