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);
743.568 μs (4 allocations: 1.53 MiB)
julia> @btime gausslegendre(100000);
1.884 ms (10 allocations: 2.62 MiB)
julia> @btime gaussjacobi(100000, 0.9, -0.1);
538.739 ms (5374 allocations: 1.26 GiB)
julia> @btime gaussradau(100000);
531.302 ms (703555 allocations: 1.27 GiB)
julia> @btime gausslobatto(100000);
534.783 ms (3881 allocations: 1.26 GiB)
julia> @btime gausslaguerre(100000);
83.107 ms (10008 allocations: 2.44 MiB)
julia> @btime gausshermite(100000);
140.131 ms (200718 allocations: 126.28 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.)