change IOBuffer to use Memory internally#53192
Conversation
|
This looks good to me, but it is a lot of tricky code. |
|
Yeah, looks like we trigger a CSV bug added in JuliaData/CSV.jl@953636a, which somehow gets involved with the Pkg tests (Pkg maybe is setting up a bad environment, as I don't think it looks like CSV should be installed there). As well as a problem exposed with the REPL precompile test coverage which should be an easy fix. |
|
CSV was added pinned as a test for a specific issue JuliaLang/Pkg.jl#3361 |
|
@nanosoldier |
|
the CSV issue should be fixed by JuliaData/CSV.jl#1121 |
|
Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. |
|
several good runtime improvements, no runtime regressions |
e3271f0 to
24fc0a0
Compare
|
Still encountering some sort of error in the REPL package, but seems possible to work around this |
|
Fixes would be adding that precompile statement or relax the test. Currently allows no compilation during interactive startup |
24fc0a0 to
1ad1c59
Compare
An Array is often still allocated on output, but this gives the compiler a chance to potentially elide that in certain cases. For measurement, it seems about 10% faster as a string builder: julia> @Btime repr("hello\nworld"^10); 1.096 μs (10 allocations: 640 bytes) # master 973.000 ns (9 allocations: 608 bytes) # PR 994.000 ns (8 allocations: 576 bytes) # also PR, after Revise-ing Base.wrap
7aa65f8 to
e6d028d
Compare
An Array is often still allocated on output, but this gives the compiler a chance to potentially elide that in certain cases.
For measurement, it seems about 10% faster as a string builder: