Re: NexusDB Memory Manager version 2 released

From: Alex Zencovich (zencovich_at_pivotcube.com)
Date: 07/29/04


Date: Thu, 29 Jul 2004 19:09:20 +0300

Hi,

I did some simple tests of new version of MM (trial edition).

But I was disappointed by results: it show me 10-25% badly performance than
Delphi's native MM.

The test I did was very simple: I prepare 2 builds of our demo application -
with NexusDB MM and without one.

Then I did same user operations and measure time of execution for most
memory-allocation routines (via ProDelphi).

Most interesting is results for calls to AllocMem,ReallocMem - really works
2.5 times faster with NexusDB MM!.

But most routines which work with sequential array access like

for i := 0 to Count - 1 do
    a[i] := b[i] + c[i];

show significantly poor performance than Delphi MM (up 25%)

Seems like Delphi MM better works with CPU cache.

The application is single-tasked and single-threaded.

Could you comment?

--
Alex Zencovich
PivotWare Lab
------------------------
OLAP solutions for Delphi,C++ Builder and ActiveX environment
"Eivind Bakkestuen" <Ieivind.bakkestuenHATE@nexusdb.comSPAM>
сообщил/сообщила в новостях следующее:
news:40ff3bf2@newsgroups.borland.com...
> Nexus Database Systems is pleased to announce the new version 2 of our
> Memory Manager.
>
> The default memory manager supplied with Delphi/BCB suffers from a variety
> of problems, potentially resulting in memory fragmentation, excessive
memory
> usage and nonoptimal performance on multi-processor machines. If your
> projects require uninterrupted 24/7 operation, contention-free memory
> allocation on multi-cpu boxes, or tighter control over memory usage,
> upgrading to the NexusDB MM is strongly recommended.
>
> Version 2 has the following features:
> ========================
>
> - supports Delphi 5/6/7 and BCB 5/6
> - mainly coded in hand optimized assembler for the ultimate speed gain
> - lower memory usage overhead than Borland's MM
> - optional hook DLLs can be created to hook in allocate/deallocate
methods,
> e.g. for Memory Checkers.
> - contention-free memory allocation/deallocation removes bottlenecks on
> multi-CPU systems
> - automatic sharing of a single instance of the MM between main executable
> and loaded DLLs which all use the NexusDB MM (no more "sharemem" needed)
>
> Please visit our website www.nexusdb.com for more information, or these
> direct links:
>
> http://tinyurl.com/285xc
> http://tinyurl.com/3fktk
>
> Additional functionality included
> =====================
>
> Version 2 also includes a set of utility units (all with full source)
which
> will further help you develop high-speed applications that scale well:
>
> - functions for atomic manipulation of Integers, Cardinals and Pointers
> - lock-free thread-safe implementation of a single linked list
> - TnxMemoryStream which improves significantly over TMemoryStream
> - threadsafe TnxList
> - threadsafe TnxSortedList
> - comparison functions
> - minimum/maximum functions
> - BitSet functions
> - Ansi/Wide String functions
> - Hash functions
>
> --
>
> Eivind Bakkestuen
> Nexus Database Systems
> http://www.nexusdb.com
>
>


Relevant Pages

  • Re: NexusDB Memory Manager version 2 released
    ... NexusDB MM is designed to work at its best in multi-threaded and/or ... slower and using more memory. ... Our granularity grows with allocation size and is 8 ... My results *without* packed keyword: ...
    (borland.public.delphi.thirdpartytools.general)
  • Re: NexusDB Memory Manager version 2 released
    ... On pity I cannot to sent to you our software sources, ... But I wrote simple test application which emulate some ways of memory use. ... >> application - with NexusDB MM and without one. ... > SetLength(a, alength); ...
    (borland.public.delphi.thirdpartytools.general)
  • Re: NexusDB Memory Manager version 2 released
    ... that looks very interest for NexusDB. ... > Nexus Database Systems is pleased to announce the new version 2 of our ... > The default memory manager supplied with Delphi/BCB suffers from a variety ... > - threadsafe TnxSortedList ...
    (borland.public.delphi.thirdpartytools.general)
  • ANN: NexusDB Memory Manager version 3 available from Feb 1st
    ... Nexus Database Systems is pleased to announce Version 3 of our Memory ... upgrading to the NexusDB MM is strongly ... threadsafe TnxSortedList ...
    (borland.public.delphi.thirdpartytools.general)
  • Re: SQLMemTable vs dxmemData vs kbmMemtable vs other?
    ... Hannes Danzl [NexusDB Developer] ... > over time you run out of memory; at some stage a memory allocation will fail ... > problem of memory fragmentation completely and also speeds up most memory ...
    (borland.public.delphi.thirdpartytools.general)