/
githubmirror
/
julia
Обзор
Документация
Войти
/
githubmirror
/
julia
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
JuliaSyntax/test/benchmark.jl
35 строк
1 KB
c42f
Additional syntax tests from Base test/syntax.jl (JuliaLang/JuliaSyntax.jl#291)
23 май 2023, 22:18
23 май 2023, 22:18
e194336
Код
Авторство
О чём код?
using BenchmarkTools using JuliaSyntax include("test_utils.jl") function concat_base() basedir = joinpath(Sys.BINDIR, "..", "share", "julia", "base") io = IOBuffer() for f in find_source_in_path(basedir) write(io, read(f, String)) println(io) end return String(take!(io)) end all_base_code = concat_base() b_ParseStream = @benchmark JuliaSyntax.parse!(JuliaSyntax.ParseStream(all_base_code), rule=:all) b_GreenNode = @benchmark JuliaSyntax.parseall(JuliaSyntax.GreenNode, all_base_code, ignore_warnings=true) b_SyntaxNode = @benchmark JuliaSyntax.parseall(JuliaSyntax.SyntaxNode, all_base_code, ignore_warnings=true) b_Expr = @benchmark JuliaSyntax.parseall(Expr, all_base_code, ignore_warnings=true) b_flisp = @benchmark JuliaSyntax.fl_parseall(all_base_code) @info "Benchmarks" ParseStream=b_ParseStream GreenNode=b_GreenNode SyntaxNode=b_SyntaxNode Expr=b_Expr flisp=b_flisp # Allocation profiling # # using Profile.Allocs # using PProf # Allocs.clear() # stream = JuliaSyntax.ParseStream(text); # JuliaSyntax.peek(stream); # Allocs.@profile sample_rate=1 JuliaSyntax.parsestmt(stream) # PProf.Allocs.pprof()