@@ -99,7 +99,7 @@ BenchmarkTools.Trial: 10000 samples with 993 evaluations.
99
99
So, using Bumper.jl in this benchmark gives a slight speedup relative to regular julia ` Vector ` s,
100
100
and a major increase in performance * consistency* due to the lack of heap allocations.
101
101
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.
103
103
The way I invoked ` @no_escape ` and ` @alloc ` implicitly used the task's default buffer, and fetching that
104
104
default buffer is not as fast as using a ` const ` global variable, because Bumper.jl is trying to protect
105
105
you against concurrency bugs (more on that later).
@@ -149,7 +149,7 @@ an error if you overfill them.
149
149
corresponding ` @no_escape ` block uses.
150
150
- You cannot use ` @alloc ` from a different concurrent task than its parent ` @no_escape ` block as this can cause concurrency bugs.
151
151
- 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
153
153
element type ` T ` , and dimensions ` n... ` . Using this is not as safe as ` @alloc ` and not recommended.
154
154
- Bumper.jl only supports ` isbits ` types. You cannot use it for allocating vectors containing mutable, abstract, or
155
155
other pointer-backed objects.
0 commit comments