Sea RTL subset for Delphi 64bit
Object Pascal wrappers from Intel Integrated Performance Primitives and Intel Threading Building Blocks royalty-free packages
17 June 2019 Roberto Della Pasqua www.dellapasqua.com
24 August 2022 DLL built with the latest stable Intel oneAPI and TBB ver. 2021.6
10 January 2023 updated zlib to 1.2.13 with latest Intel IPP ver. 2021.7
20 February 2023 updated webbroker deflate helper for reliability
02 November 2023 updated oneTBB allocator
8 August 2024 updated to Intel IPP v2021.12, zlib v1.3.1, visual c++ v19.29.30154
30 October 2024 updated to Intel IPP v2022.0, visual c++ v19.41.34123
This folder contains:
- SeaMM.dll memory manager (md5 aa2f3a1556c968e03bc8c2d8c1991c95 size 107520)
- SeaRTL.dll simd enabled rtl subset routines (md5 6f35648fbf2b386e3129ec82bb12d30d size 200704)
- SeaZIP.dll accelerated zlib compression (md5 5c4409f5c93f490119134bb5477a89fb size 982016)
- RDPMM64.pas wrapper for memory manager (put this unit as first unit clause in project source)
- RDPSimd64.pas wrapper for simd rtl api
- RDPZlib64.pas wrapper for zlib deflate (level -2 AC mode in deflate call should be used over UTF-8 strings for web optimization)
- RDPWebBroker64.pas utils to enhance webbroker web apps
- SeaIISFilter ultra-fast realtime deflate filter for IIS web server (5x faster than default gzip)
- License.txt for legal terms
A common Delphi web framework tested with apachebench and 100 concurrent users (vm windows 2022 intel 9900k)
(This enhancement is achieved in highly threaded apps doing concurrent memory and search operations)
About zlib IPP accelerated: you can use symbolic name Z_IPP_FAST_COMPRESSION which is equal to -2
Introduced new sub-ranges of compression levels from 11 to 29
The standard levels 1..9 are compatible with original Zlib
Levels 11..19 are similar to 1..9, but fit better when compressing large files (more than 1 MB)
Levels 21..29 are for highly compressible files with compression ratio equal to 30x and higher
If you want enable accelerated zlib programmatically into your WebBroker app, just add one line of code in afterdispatch event:
- procedure TWebModule.WebModuleAfterDispatch(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- begin
- Response.ZlibDeflate;
- end;
The library is well tested, run on Intel and Amd x64 Windows, if you found any trouble please notify me;
big thanks to the Delphi community and its great coders, in particular for the support received from Bruno Fierens (TMS), Daniele Teti (bittime) and many others.
Contact me: roberto dot dellapasqua at live.com
Thank you and best regards
Roberto Della Pasqua