Questions tagged [memory-management]
Memory management is the act of managing computer memory by allocating portions of memory to programs as well as freeing memory so that it can be re-used.
646
questions
1
vote
1
answer
112
views
Javascript Signals implementation
I've created my own implementation of signals in typescript, inspired by the proposed tc39 specification (https://github.com/tc39/proposal-signals) in the BOM. I think it would be great if I could use ...
1
vote
0
answers
57
views
Presence of UB and memory usage of a std::array initialization: version with temporary array on heap
I proposed several techniques to answer to https://stackoverflow.com/q/78672409/21691539.
A classical way to answer would be to use std::index_sequence-based ...
3
votes
1
answer
226
views
Presence of UB and memory usage of a std::array initialization
I proposed several techniques to answer to https://stackoverflow.com/q/78672409/21691539.
A classical way to answer would be to use std::index_sequence-based ...
4
votes
3
answers
649
views
Error handling for singly linked list in C
I have seen many list implementations in C in this site; I know its been asked many times. I need some advice regarding:
Quality of my code, especially my list library.
How to handle errors in main (...
7
votes
2
answers
223
views
An Arena/Bump Allocator in C (Follow-up)
This is a follow-up to: An Arena/Bump Allocator in C.
LOC: 234. (Not including the sample tests, still quite small and manageable.)
The allocator uses C99, but sample tests use C11's ...
1
vote
4
answers
139
views
Safer & simpler allocation functions and macros
I wrote a bunch of functions and macros for safer and simpler allocation. They are documented in their files.
Disclaimer:
The library requires POSIX extensions, GCC extensions, and LIBBSD ...
5
votes
1
answer
185
views
Unit Tests for an Arena Allocator
In my last post about the allocator, I received some comments about unit-tests:
The code looks correct on the majority of the cases, I will suggest run valgrind or define a good set of unit tests ...
4
votes
2
answers
904
views
OpenGL: Freeing allocated memory
Here's a snippet of my code. I have a Button structure made up by 2 Figure structures, which contains vertices, colors and the relative VBOs and VAO.
I have a function to allocate the memory and one ...
2
votes
1
answer
86
views
Generic container wrapper type with a default underlying buffer (2nd rev)
This is a revision of the previous question. I was told to ask an additional question with more context for the modified code to be reviewed.
The changes:
changed from ...
5
votes
1
answer
297
views
Generic container wrapper type with a default underlying buffer
I've come up with a type that allows me to encapsulate any container class (that supports std::pmr::polymorphic_allocator<T>) with a buffer and a memory ...
3
votes
1
answer
151
views
initializing a timezone database and getting all timezone names (before main())
I have written the below small program that tries to initialize a tzdb before the main() runs. So once the main function runs, it checks the two global variables (...
8
votes
1
answer
120
views
Tracker for object construction, copy, and movement
I made an object tracker for debugging and testing purposes called ccm_counter (construction, copy, move counter). It counts constructor, copy and move calls. It ...
3
votes
1
answer
342
views
First dynamic array in C
I am new to C and have been learning it for about a month now.
This is my attempt to implement a dynamic array. My code works, but i don't know whether or not it leaks memory.
But my code works as I ...
4
votes
1
answer
312
views
Use of double pointers and memory allocation/deallocation
I've made an associative array data structure (more details in the code comments below). What I'm interested in getting a critique on is the usage of double pointers.
Are they necessary here?
Am I ...
5
votes
1
answer
1k
views
C++ shared_ptr memory pool
I put together this little memory pool class to help avoid the costs associated with heap allocation and deallocation of objects that are frequently created & destroyed. It creates C++ standard <...
4
votes
1
answer
170
views
Track and trace allocations
When testing or debugging allocator-aware objects, it can be useful to provide allocators that can provide insight into how they get called. The Tracing_alloc from ...
8
votes
1
answer
837
views
A fixed-size dynamic array
Background
I implemented the historic std::dynarray according to the specification under the name dynamic_array in C++17. ...
4
votes
1
answer
277
views
C++ Dynamic Array Class Testing
I'm creating a basic Dynamic Array class in C++, and I'd like to know if there are any bugs/memory leaks I haven't noticed yet.
dyn_arr.h :
...
4
votes
1
answer
100
views
Buddy - Algorithm in Rust
I wrote my first code in Rust and decided to recall the buddy algorithm, which I suggested at work for our embedded software.
I hope you can give me some advise on things like:
How to make it safe (...
2
votes
3
answers
214
views
Prevent stack memory usage for recursive function in C
This C code does DBSCAN - Density-based spatial clustering of applications with noise. It's a cluster algorithm for turining unsupervised (no labels) data to become ...
2
votes
4
answers
181
views
Comparison of two excel files ignoring line order
Below is a simple method which compares contents of two excel files ignoring the line order.
This method is working as expected.
But, one of my peers in their code review mentioned that initializing ...
3
votes
2
answers
293
views
Reference-counted smart pointer in C
About
I've been experimenting with gcc's __cleanup__ attribute, and thought it'd be a great fit for a memory-safe smart pointer for C.
This is the implementation. ...
6
votes
1
answer
208
views
My attempt at GNU echo in rust
This is my first post. I'm trying to learn Rust and I recently finished reading the Rust Book.
For further learning I decided to try to reimplement some GNU core utilities in Rust.
This is my approach ...
0
votes
3
answers
74
views
another Merge Sort
I've tried to implement merge sort in c with varying degrees of success, one was correctly sorting the array but leaking memory, one was neither sorting the array and leaking memory.
The following was ...
4
votes
2
answers
256
views
C++ heap allocator using an explicit free list
Description
I've written a heap allocator in C++ using an explicit free list for organization. I've also written a series of unit tests and a microbenchmark using Catch2. At time of writing I've ...
17
votes
5
answers
5k
views
malloc() and free() implementation
I'm looking for a code review of my custom memory allocation library (written for educational purposes), which includes malloc(), ...
2
votes
0
answers
48
views
Reusable storage for array of objects V4
Here is a thirdfollow up on Reusable storage for array of objects, Reusable storage for array of objects V2 and Reusable storage for array of objects V3, taking into account the provided answers.
The ...
1
vote
1
answer
51
views
Reusable storage for array of objects V3
Here is a second follow up on Reusable storage for array of objects and Reusable storage for array of objects V2, taking into account the provided answers.
The following code should be compliant at ...
3
votes
1
answer
68
views
Reusable storage for array of objects V2
Here is a follow up on Reusable storage for array of objects, taking into account the provided answers.
The following code should be compliant at least with gcc, <...
4
votes
2
answers
493
views
Reusable storage for array of objects
My goal is to have a memory pool non-template class that is used to store arrays of objects.
The same memory pool object must be reusable for a different array (difference size, different type and/or ...
2
votes
1
answer
97
views
Yet another std::unique_ptr implementation
I know I haven't implemented many methods, and haven't specialized it for T[], but I just want to see if what I coded is good or bad.
...
3
votes
1
answer
1k
views
Setting all class members to null to destroy strong references
At work we are using Xamarin.iOS for our apps. We frequently have to fight it's disadvantages, namely it's memory leak issues where strong cyclic references keep objects alive and prevent them from ...
7
votes
2
answers
203
views
shared_ptr implementation code - first cut
I've written an implementation of shared_ptr. It doesn't support weak_ptr (yet) but below is the code. I'd appreciate any feedback, comments.
...
6
votes
3
answers
1k
views
Implementation of K&R Malloc
This is a one file implementation of K&R Malloc. It's passed all test cases I've run on it, so I would like to request a code review.
my_malloc.c
...
14
votes
2
answers
3k
views
malloc() and free() for Linux with system calls
I have written an implementation of malloc() and free() for Linux using the sbrk() system ...
6
votes
1
answer
1k
views
Simple stack allocator in C
My plan is to allocate a fixed amount of static memory at initialization (a few MBs), and use a stack allocator for quick temporary buffers. The idea is to avoid calls to ...
2
votes
1
answer
649
views
Contiguous memory allocation using first-fit algorithm
This project I'm dealing with will read the size of free memory segments and size of processes from a text file and then will try to allocate a memory partition for each process using the first-fit, ...
5
votes
2
answers
646
views
Construct mesh from a point cloud
I have been developing a program with C lately, its purpose over the top is to reconstruct meshes from point clouds which are generated by finding the intersection points of numerous rays fired at the ...
-1
votes
1
answer
294
views
Copying allocated data into std::map in a smart way [closed]
I come across a problem and I solved it. The solution works but I have some feelings that there is something wrong with my solution/code.
To be clear, let's assume that cars on the race track transmit
...
3
votes
1
answer
115
views
Doubly-linked list functions
This is my first time implementing a doubly-linked list. I would like some feedback on my code. Any comment would be appreciated regarding the quality of the code, bad implementation, memory ...
6
votes
3
answers
2k
views
Implementation of a shared pointer constructors and destructor
I am writing my simple shared pointer. I am asking to review existing functions (understand that my implementations is not full, e.g now operator*)
Review please ...
4
votes
2
answers
190
views
My own function for copying memory in C
I have written a function that copies memory from one destination to another. I would like you to view my code and tell me if I have to fix something. That's the code:
...
6
votes
1
answer
473
views
Doubly linked list first fit free list malloc/free in Python
As an exercise I've implemented malloc and free in Python as a first fit free list as described here. This tracks which blocks are free in a doubly linked list that is sorted by the address of the ...
5
votes
1
answer
570
views
Simple Memory Arena
A memory arena implementation targeting standard C - this is draft code for Slider 3 (https://mrsename.blogspot.com/), a new programming language implementation being developed. Other memory arena ...
0
votes
1
answer
157
views
Multiple containers share a single memory resource
In my project, I'm trying to use the std::pmr allocator and monotonic_buffer_resource. I'm using vector in various classes, and ...
1
vote
2
answers
1k
views
C Arena (pool allocator)
I wrote a pool allocator (Arena) for a compiler I'm writing.
My use case for this allocator is for storing the parse tree because it allows me to free all the memory at once, so I don't need to keep a ...
10
votes
5
answers
3k
views
Implementation of a two-dimensional array in C
I implemented a two-dimensional array in C and would like to know if the implementation is sound in terms of
Memory management
Potential bugs and other side effects that I missed
Code style (...
3
votes
2
answers
396
views
Implementation of a market that matches bids to offers
This is my task:
Each line in the file can be one of the following:
Updates to the limit order book in the following format:
...
5
votes
4
answers
2k
views
StringPool in C++
I wrote a simple string pool for my compiler in C++ and want to hear your thoughts on its design.
String pool has 2 functions: intern and ...
4
votes
1
answer
482
views
Simple slab allocator in C
Here is the plan:
a slab takes up 1 page and it has PGSIZE / blocksize amount of blocks
the minimum blocksize is 8 bytes, otherwise the pointer to the next block ...