Skip to content

Commit

Permalink
Update julia-1.11-highlights.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ViralBShah authored Oct 10, 2024
1 parent 41e7363 commit 6067419
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion blog/2024/10/julia-1.11-highlights.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ which was previously 1.6. Consider using the new `lts` version specifier with
# `Array` now implemented in Julia, new `Memory` type
*Jameson Nash* , *Oscar Smith*

Prior to Julia 1.11, `Array` was a special object in Julia. Operations like resizing and creation had to be done completely in C, which created overhead and made some of the code much harder to write and difficult for the compiler to optimize. `Array` also had some features that were unnecessary for some uses (e.g. resizing and multiple dimensions) which imposed a small cost. To fix this, in https://github.com/JuliaLang/julia/pull/51319, we added a new, lower level `Memory` type, which allowed re-implementing all of `Array` in Julia code on top of it. This moved much of the complexity around resizing and copying an array into pure Julia code. And it allowed a few important data types, that don’t need all of `Array`’s features (such as `Dict`), to avoid a small amount of overhead. This has led to some great performance improvements. For example, `push!` on Array is now roughly ~2x faster, and several types in Base now use slightly less memory.
Prior to Julia 1.11, `Array` was a special object in Julia. Operations like resizing and creation had to be done completely in C, which created overhead and made some of the code much harder to write and difficult for the compiler to optimize. `Array` also had some features that were unnecessary for some uses (e.g. resizing and multiple dimensions) which imposed a small cost. To fix this, in [PR #51319](https://github.com/JuliaLang/julia/pull/51319), we added a new, lower level `Memory` type, which allowed re-implementing all of `Array` in Julia code on top of it. This moved much of the complexity around resizing and copying an array into pure Julia code. And it allowed a few important data types, that don’t need all of `Array`’s features (such as `Dict`), to avoid a small amount of overhead. This has led to some great performance improvements. For example, `push!` on Array is now roughly ~2x faster, and several types in Base now use slightly less memory.

This new feature was presented at JuliaCon and can be seen [here](https://www.youtube.com/watch?v=L6BFQ1d8xNs).

Expand Down

0 comments on commit 6067419

Please sign in to comment.