Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming.threads > #3693

My C++ MemPool for real-time systems was updated to version 1.02

Path csiph.com!news.swapon.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From Ramine <toto@toto.net>
Newsgroups comp.programming.threads
Subject My C++ MemPool for real-time systems was updated to version 1.02
Date Fri, 17 Mar 2017 14:47:09 -0400
Organization A noiseless patient Spider
Lines 53
Message-ID <oahaq2$k4f$3@dont-email.me> (permalink)
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Fri, 17 Mar 2017 18:44:19 -0000 (UTC)
Injection-Info mx02.eternal-september.org; posting-host="17cd5cb919c6849b13a9df833f0f54a4"; logging-data="20623"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX188KKXfoIUQy1V7Ktopko7S"
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
X-Mozilla-News-Host news://news.eternal-september.org:119
Cancel-Lock sha1:YvSiriqY8c9w7H7BbQfjvsB/zZM=
Xref csiph.com comp.programming.threads:3693

Show key headers only | View raw


Hello.....


My C++ MemPool for real-time systems was updated to version 1.02

I have cleaned up more the code..


Description:

Real-Time Memory Management

In C++, memory management is normally performed using new,delete etc. 
The run-time system's heap offers great flexibility and efficiency, but 
it cannot fulfil real-time requirements. The run-time requirements are 
non-deterministic. In addition, they may require blocking task switches, 
which makes them unusable for interrupt handlers.

MemPool uses templates and offers memory management with real-time 
capabilities through Memory Pools. A Memory Pool is an isolated heap 
with data buffers as objects of equal size. Any number of memory pools 
can exist simultaneously. A pool is initialized once and allocated a 
certain number of buffers as objects. Thereafter, buffers as objects can 
be allocated and deallocated from the pool under real-time conditions.

How to use it?

The parameters of the constructor are:

The first parameter is the number of items and the second parameter is a 
boolean parameter that will tell  MemPool to grow or not, if it is set 
to true it will grow,  set it to false for real-time systems, if you 
don't pass any parameter, the number of items will be set to 200 and the 
MemPool will not grow and thus it will be set for real-time systems.

The New() method returns a reference to the object, it's in O(1) time 
complexity.

The Return() method returns the reference to the object to the stack, it 
's in O(1) time complexity.

Please look at the test.cpp example to learn how to use MemPool.

Language: GNU C++ and Visual C++ and C++Builder

You can download my C++ MemPool for real-time systems from:

https://sites.google.com/site/aminer68/c-mempool-for-real-time-systems



Thank you,
Amine Moulay Ramdane.

Back to comp.programming.threads | Previous | Next | Find similar | Unroll thread


Thread

My C++ MemPool for real-time systems was updated to version 1.02 Ramine <toto@toto.net> - 2017-03-17 14:47 -0400

csiph-web