Benchmark
Here we compute 100000
nodes and weights of the Gauss rules. Try a million or ten million.
julia> using LinearAlgebra, BenchmarkTools, FastGaussQuadrature
julia> @btime gausschebyshev(100000);
1.485 ms (4 allocations: 1.53 MiB)
julia> @btime gausslegendre(100000);
2.617 ms (10 allocations: 2.29 MiB)
julia> @btime gaussjacobi(100000, 0.9, -0.1);
958.696 ms (3300 allocations: 1.25 GiB)
julia> @btime gaussradau(100000);
1.019 s (702281 allocations: 1.27 GiB)
julia> @btime gausslobatto(100000);
977.840 ms (3280 allocations: 1.26 GiB)
julia> @btime gausslaguerre(100000);
636.988 ms (10008 allocations: 2.44 MiB)
julia> @btime gausshermite(100000);
452.969 ms (200645 allocations: 126.29 MiB)
The paper [1] computed a billion Gauss-Legendre nodes. So here we will do a billion + 1.
julia> @btime gausslegendre(1000000001);
23.363 s (10 allocations: 22.35 GiB)
(The nodes near the endpoints coalesce in 16-digits of precision.)