@@ -99,7 +99,7 @@ BenchmarkTools.Trial: 10000 samples with 993 evaluations.
9999So, using Bumper.jl in this benchmark gives a slight speedup relative to regular julia ` Vector ` s,
100100and a major increase in performance * consistency* due to the lack of heap allocations.
101101
102- However, we can actually go a little faster better if we're okay with manually passing around a buffer.
102+ However, we can actually go a little faster if we're okay with manually passing around a buffer.
103103The way I invoked ` @no_escape ` and ` @alloc ` implicitly used the task's default buffer, and fetching that
104104default buffer is not as fast as using a ` const ` global variable, because Bumper.jl is trying to protect
105105you against concurrency bugs (more on that later).
@@ -149,7 +149,7 @@ an error if you overfill them.
149149 corresponding ` @no_escape ` block uses.
150150- You cannot use ` @alloc ` from a different concurrent task than its parent ` @no_escape ` block as this can cause concurrency bugs.
151151- If for some reason you need to be able to use ` @alloc ` outside of the scope of the ` @no_escape ` block, there is a
152- function = ` Bumper.alloc!(bug, T, n...) ` = which takes in an explicit buffer ` buf ` and uses it to allocate an array of
152+ function ` Bumper.alloc!(bug, T, n...) ` which takes in an explicit buffer ` buf ` and uses it to allocate an array of
153153 element type ` T ` , and dimensions ` n... ` . Using this is not as safe as ` @alloc ` and not recommended.
154154- Bumper.jl only supports ` isbits ` types. You cannot use it for allocating vectors containing mutable, abstract, or
155155 other pointer-backed objects.
0 commit comments