Fast memory allocation #36

Merged
jordan merged 8 commits from lda/Cytoplasm:mem-moment into master 2024-08-23 20:26:14 +00:00
Contributor

After messing around with it with Telodendria(and some projects I'm working on), it's fairly stable.
It still doesn't implement checksums(I also need to change the magic number, maybe to some randomly generated value made at runtime), and effectively disable MemoryIterate during mallocs, reallocs, and frees.

This still however removes `MemoryIterate' from allocations, because it's a real performance pickle.
From my tests parsing large sync
replies, this commit is near instant(pv reports 23MiB/s on a 2MB sync).

Still need a good compromise along MemoryIterate(like maybe find out a clever way to only make it run on a small subset, or maybe just randomly run it from time to time, or maybe just roll without it except on some soft of debug mode????)

After messing around with it with Telodendria(and some projects I'm working on), it's fairly stable. It still doesn't implement checksums(I also need to change the magic number, maybe to some randomly generated value made at runtime), and effectively disable MemoryIterate during mallocs, reallocs, and frees. >This still however removes `MemoryIterate' from allocations, because it's a real performance pickle. > From my tests parsing large sync replies, this commit is near instant(pv reports 23MiB/s on a 2MB sync). > > Still need a good compromise along MemoryIterate(like maybe find out a clever way to only make it run on a small subset, or maybe just randomly run it from time to time, or maybe just roll without it except on some soft of debug mode????)
lda added 1 commit 2024-06-06 10:14:29 +00:00
[MOD/WIP] Blazing-fast memory allocator 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 007b8f6d43
This still however removes `MemoryIterate' from allocations, because
it's a real performance pickle. From my tests parsing large sync
replies, this commit is near instant(pv reports 23MiB/s on a 2MB sync).

Still need a good compromise along MemoryIterate(like maybe find out a
clever way to only make it run on a small subset, or maybe just randomly
run it from time to time, or maybe just roll without it except on some
soft of debug mode????)
lda added 1 commit 2024-06-08 10:08:50 +00:00
lda added 2 commits 2024-06-15 11:44:29 +00:00
lda added 1 commit 2024-06-15 11:49:16 +00:00
lda added 1 commit 2024-06-19 15:51:30 +00:00
lda added 1 commit 2024-06-27 14:43:56 +00:00
lda added 1 commit 2024-07-18 11:20:32 +00:00
lda changed title from WIP: Fast memory allocation to Fast memory allocation 2024-08-06 12:03:58 +00:00
Owner

The code looks good, I'll have to find the time to go through it more to see if it's something we want to merge. I'll have to decide if the functionality we're losing can be implemented in any other way. I'll think about it and try to make a decision either way as soon as I can.

The code looks good, I'll have to find the time to go through it more to see if it's something we want to merge. I'll have to decide if the functionality we're losing can be implemented in any other way. I'll think about it and try to make a decision either way as soon as I can.
Owner

I think, for now, if you're not running into any memory issue that the iterator is detecting, we can probably roll without it for now. We can re-evaluate if we find some gnarly memory bugs that we just can't fix without it.

I think, for now, if you're not running into any memory issue that the iterator is detecting, we can probably roll without it for now. We can re-evaluate if we find some gnarly memory bugs that we just can't fix without it.
jordan merged commit 494be7b4dc into master 2024-08-23 20:26:14 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Telodendria/Cytoplasm#36
No description provided.