WIP: Fast memory allocation #36

Draft
lda wants to merge 7 commits from lda/Cytoplasm:mem-moment into master
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 06:14:29 -04:00
007b8f6d43 [MOD/WIP] Blazing-fast memory allocator 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
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 06:08:50 -04:00
lda added 2 commits 2024-06-15 07:44:29 -04:00
lda added 1 commit 2024-06-15 07:49:16 -04:00
lda added 1 commit 2024-06-19 11:51:30 -04:00
lda added 1 commit 2024-06-27 10:43:56 -04:00
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
You can also view command line instructions.

Step 1:

From your project repository, check out a new branch and test the changes.
git checkout -b lda-mem-moment master
git pull mem-moment

Step 2:

Merge the changes and update on Gitea.
git checkout master
git merge --no-ff lda-mem-moment
git push origin master
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 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.