-
Content Count
235 -
Joined
-
Last visited
-
Days Won
1
Everything posted by RDP1974
-
ok I don't know how to use TParallel (setminworkerthread) with 16 threads, using beginthread on I9 results doubles (I suppose there is a limit of 8 threads in the pool of TThread) NumThreads := StrToInt(Th.Text); SetLength(ArrThreads, NumThreads); SW := TStopWatch.Create; SW.Start; for i := 0 to NumThreads - 1 do ArrThreads:=BeginThread(nil, 0, Addr(ThExecute), nil, 0, dm); WaitForMultipleObjects(NumThreads, @ArrThreads[0], True, Infinite); SW.Stop; lbxResults.Items.Add('All done in ' + SW.ElapsedMilliseconds.ToString + 'msec'); lbxResults.Items.Add('Tot hands ' + TotHands.ToString); lbxResults.Items.Add('Hands for second ' + (TotHands / SW.ElapsedMilliseconds * 1000).ToString); for i := 0 to NumThreads - 1 do CloseHandle(ArrThreads) but, you are allright, this is a useless benchmark, real app scenario should be a database, web app, etc. where using tthreadvar (TLS) come back to work, I'll stop to bother the forum cu
-
also this is very interesting https://github.com/daanx/mimalloc-bench anyway I agree that's better to have a pascal native MM than a C based one https://github.com/d-mozulyov/BrainMM this was cool, but under Win64 is crashing somewhere
-
but from Intel sources: similar or little bigger peak consumption and until 17x speedup, see test3 https://software.intel.com/content/www/us/en/develop/articles/controlling-memory-consumption-with-intel-threading-building-blocks-intel-tbb-scalable.html
-
Thanks
-
thanks, tomorrow will send info I wait embarcadero to update the linker to accomodate C $tls api, then we can use static libs without dll dependencyI
-
5x quicker TParallel.For is from FastMM5 benchmark utility results DLL? Are from Intel libs, I did only wrappers are plain, optimized config, compiled dll from Intel TBB and IPP royalty free packages, no custom source code changes are done you can compile by yourself, I have put them in the repository because many people cannot build them, or not having the time https://github.com/oneapi-src/oneTBB/releases https://github.com/oneapi-src/oneTBB/archive/v2020.3.zip -> see folder TBBMalloc for the RTL simd patches: https://software.seek.intel.com/performance-libraries -> IPP run the utility to build a custom DLL and export: 'ippsZero_8u'; 'ippsCopy_8u'; 'ippsMove_8u'; 'ippsSet_8u'; 'ippsFind_8u'; 'ippsCompare_8u'; 'ippsUppercaseLatin_8u_I'; 'ippsReplaceC_8u'; for the ZLIB acceleration (3x-5x quicker than windows gzip, webbroker helper provided)-> extract IPP under Linux, see the readme how to patch zlib, take the patched sources and compile them with MS VC++ kind regards R. btw. I use them from a pair of years with my customers, never had a trouble
-
hello, do you suggest libraries, free or commercial, for: 1) play web formats (H264, VP8, Opus) in VCL component 2) use hardware acceleration as DxShow? 3) audio/video grabbing from TCamera or https://www.winsoft.sk/wcamera.htm? I'm evaluating FFMPEG Vcl Player and webRtc (http://www.flashavconverter.com/) (using custom player over ffmpeg) or https://tools.google.com/dlpage/webmmf/index.html using DxShow system TMediaPlayer. Any hints for best quality? Thanks R.
-
in your opinion what is the best component /wrapper for camera grabbing to file using VP8/H264 (web) codecs?
-
thanks for the kind answer
-
record from camera saving in H264 file locally, without upload it to a media server
-
DSPack is old and not mantained I see coders moved to SDL2
-
hello, do you know if with Delphi is possible to do a UWP app that's updating byself using store/uwp/update API? (as all UWP store apps are doing) If yes, how to? Docs somewhere? thanks
-
I see all UWP's in windows store are updating automatically (privacy allow background app) or manually through "download and updates" section of the store so there should be API for update or is enough to upload a provisioned file with version inc?
-
hello, Guess I do a whatsapp client application through API I want play and record the camera audio/video Does the webRTC component offer this capability? Show video using VP8, H264 codec, record video from cam to file using VP8, H264 codec Or in your opinion is better to use FFMPEG wrapper to encode and to play? Your component plays video of accelerated VCL surface (opengl or directx)? Installing webRTC the default system codecs are updated? So is enough to use TMediaPlayer VCL for playing DXShow VP8, H264? Installing FFMPEG the default system codecs are updated? So is enough to use TMediaPlayer VCL for playing DXShow VP8, H264? I can install the https://www.webmproject.org/ie/ so to play through accelerated DxShow all the VP8 H264 codecs through mediaplayer
-
hello, I want to use GPL sources into a closed source Delphi app, I cannot made the Delphi app under GPL because I use commercial components. Now: 1) if I link the objects $L from C GPL code, then I'm obliged to open and make all Delphi code GPL? 2) if I link a DLL from C GPL code, again here I need to open to GPL? 3) if I do a EXE from GPL code, then my closed code is Delphi and I use the first EXE with as a bridge with RPC or shared memory IPC dialogue; if so can I solve the problem of using GPL inside a commercial Delphi code? Thanks
-
question about GPL and Delphi
RDP1974 replied to RDP1974's topic in Tips / Blogs / Tutorials / Videos
meantime I did a real test on FastMM5 -> under webbroker standalone webserver, running apachebench ab -n 10000 -c 100 -k -r http://192.168.1.150:8080/ -> FastMM5 executable is faster identical at Intel TBB (both 11k reqs/sec) but with a benchmark TParallel.For I get -> - Parallel For used : 1030549 ticks / BlockThreadContentionCounts: 0/2327401/0 ThreadContention testing reported critical areas - consider to increse the corresponding CFastMM_XXXXXBlockArenaCount constant - with TBB Parallel For used : 202024 ticks (5 times quicker on I9 8/16 core) in a single thread benchmark poker game -> 2M with TBB 2650k with FMM4 2750k with FMM5 so actually for single thread apps FMM5 wins by a few margin over FMM4 but for multithread should be tuned? I forward this post to the author of FMM. -
question about GPL and Delphi
RDP1974 replied to RDP1974's topic in Tips / Blogs / Tutorials / Videos
(I cannot understand why they don't invest in compiler and rtl that's the core value of the whole toolchain ... ) -
question about GPL and Delphi
RDP1974 replied to RDP1974's topic in Tips / Blogs / Tutorials / Videos
for now I go with a pair of DLL from Intel TBB, IPP for mem manager and fillchar, move, pos avx enhanced if I do an error into asm conversion will be hard to catch! Too risky 🙂 -
question about GPL and Delphi
RDP1974 replied to RDP1974's topic in Tips / Blogs / Tutorials / Videos
better to wait Embarcadero support for AVX into Delphi asm ... need too much time and easy to do errors -
question about GPL and Delphi
RDP1974 replied to RDP1974's topic in Tips / Blogs / Tutorials / Videos
To translate AVX-2 opcodes to Delphi we should use a object disassembler? And put hexadecimal DB values directly? Or translate by hand using intel manual and a calculator :-) Do you know if exists a similar tool as https://torry.net/files/vcl/experts/other/mmxasm.zip for AVX? -
question about GPL and Delphi
RDP1974 replied to RDP1974's topic in Tips / Blogs / Tutorials / Videos
Hi Arnaud, can I port your FPC mem manager under Delphi (Windows)? I'll translate AVX to Delphi ASM. But, I need your permission of course. Let me know. Roberto -
question about GPL and Delphi
RDP1974 replied to RDP1974's topic in Tips / Blogs / Tutorials / Videos
What happens when a GPL code violates a patent? -
a silly question, IMHO this forum layout should be optimized leaving more space for the topics
-
hello, there is a bug in webbroker indy based under Linux, the Request.ContentFields is not filled correctly from client Ajax POST meanwhile works correctly in Windows Delphi 10.3.3
-
Experience/opinions on FastMM5
RDP1974 replied to Leif Uneus's topic in RTL and Delphi Object Pascal
Your talent is fantastic and so your code, but let me tell you a word about "TBB unusable" that it's the default optimize option on the whole Visual Studio C compiler and in main game engines... TBB and IPP also are used in Oracle Database, Adobe, Autodesk...