Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

DelphiMSHeap

Default MM override using Windows Heap API

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

DelphiMSHeap

Default MM override using Windows Heap API

tested under win10, win2022, show optimum performances both under single and multithreaded applications

how to replace the default MM:

project -> view source

program Test;

uses

MSHeap // put the unit at the first uses

..

please see

https://en.delphipraxis.net/topic/7357-64bit-rtl-patches-with-intel-oneapi-and-tbb/

https://en.delphipraxis.net/topic/7357-64bit-rtl-patches-with-intel-oneapi-and-tbb/?tab=comments#comment-62867

https://users.rust-lang.org/t/why-dont-windows-targets-use-malloc-instead-of-heapalloc/57936

// 10 sept 2022 from https://github.com/d-mozulyov/BrainMM demos

// 10 sept 2022 added inline directive, zeromemory and freemem return value

kind regards

Roberto Della Pasqua

www.dellapasqua.com

btw. below a test from DMVC author https://github.com/danieleteti/delphimvcframework

Using default MM

C:\WORK\Apache24\bin\ab.exe -c 100 -n 10000 http://localhost:8080/api

Concurrency Level: 100

Time taken for tests: 28.314 seconds

Complete requests: 10000

Failed requests: 0

Total transferred: 1830000 bytes

HTML transferred: 10000 bytes

Requests per second: 353.18 [#/sec] (mean)

Time per request: 283.138 [ms] (mean)

Time per request: 2.831 [ms] (mean, across all concurrent requests)

Transfer rate: 63.12 [Kbytes/sec] received

Using MSHeap

C:\WORK\Apache24\bin\ab.exe -c 100 -n 10000 http://localhost:8080/api

Concurrency Level: 100

Time taken for tests: 2.054 seconds

Complete requests: 10000

Failed requests: 0

Total transferred: 1830000 bytes

HTML transferred: 10000 bytes

Requests per second: 4869.63 [#/sec] (mean)

Time per request: 20.535 [ms] (mean)

Time per request: 0.205 [ms] (mean, across all concurrent requests)

Transfer rate: 870.26 [Kbytes/sec] received