mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-02 16:21:11 +00:00
add todo around improving performance
This commit is contained in:
parent
8269986113
commit
aca6f2a8f1
1 changed files with 9 additions and 0 deletions
|
@ -149,6 +149,15 @@ pub const RocList = extern struct {
|
||||||
requested_length: usize,
|
requested_length: usize,
|
||||||
element_width: usize,
|
element_width: usize,
|
||||||
) usize {
|
) usize {
|
||||||
|
// TODO: there are two adjustments that would likely lead to better results for Roc.
|
||||||
|
// 1. Deal with the fact we allocate an extra u64 for refcount.
|
||||||
|
// This may lead to allocating page size + 8 bytes.
|
||||||
|
// That could mean allocating an entire page for 8 bytes of data which isn't great.
|
||||||
|
// 2. Deal with the fact that we can request more than 1 element at a time.
|
||||||
|
// fbvector assumes just appending 1 element at a time when using this algorithm.
|
||||||
|
// As such, they will generally grow in a way that should better match certain memory multiple.
|
||||||
|
// This is also the normal case for roc, but we could also grow by a much larger amount.
|
||||||
|
// We may want to round to multiples of 2 or something similar.
|
||||||
var new_capacity: usize = 0;
|
var new_capacity: usize = 0;
|
||||||
if (element_width == 0) {
|
if (element_width == 0) {
|
||||||
return requested_length;
|
return requested_length;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue