Jump to content

RDP1974

Members
  • Content Count

    235
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by RDP1974

  1. RDP1974

    Delphi Linux Curl

    if I don't mind http client is using under the hood the curl
  2. I'll further optimize the method zlibdeflate avoiding a copy buffer btw. be careful to set before the call the correct http content type, example Response.ContentType := 'application/json; charset="UTF-8"';
  3. hi, I have updated the unit RDPWebBroker64.pas of the library Delphi 64 RTL Intel IPP TBB for more reliability basically we intercept the text kind of the content (text, html, application, json, css) then will compress it using Intel IPP accelerated deflate average compression of typical json table on a real test is 5x (200KB -> 40KB) and the speed is 5x faster the standard gzip provided with iis in a third-party detailed test over zlib enhanced libraries, this lib places at the first position for speed with text kind content as the web apps web apps benefit of drammatic smaller response time (and the price of cloud bandwith can be lowered) enable programmatically the compression in webbroker apps: procedure TWebModule.WebModuleAfterDispatch(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); begin Response.ZlibDeflate; end; the whole ecosystem of frameworks built over webbroker can use this library transparently please let me know if you discover memory leaks or if you do benchmark or test over it (also plz check if the code can be better) thank you kind regards Roberto Della Pasqua
  4. RDP1974

    D11.2 + FireDAC + MySQL 64 bit not working

    hi, I use D11.x with MySql 8.x both in 32 and 64bit. You have to use the DLL found into bin folder of the MySql installation and put it into fdphysical lib name. If your system is virgin then install the runtime of visual c. https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist put at runtime the 64bit lib $ifdef win64 ... and develop with 32bit Install mysql 32 for 32 dll and mysql 64 for 64 dll
  5. hi, I have updated my repository of high performance Delphi 64bit RTL with latest zlib 1.2.13 and Intel IPP 2021.7 I have done DLLs perfectly with zero warnings nor errors and virus free https://github.com/RDP1974/Delphi64RTL kind regards Roberto btw. be careful with zlib deflate accelerated, if you pass an already compressed buffer (lz family as zip rar tar etc.) the compress call will exit with an exception so, wrap it between a try except or filter the mime before
  6. hi, does anybody has isapi filters under Windows 2022 server 10.0.20348.1366? using D11.2, also with empty project (sdk iis 7.0 headers) -> getprocaddress error on dll loading plz tell me if you have delphi isapi filters running in w2022s? thank you
  7. RDP1974

    isapi filter windows 2022 cannot load

    solved, the problem was in the headers translation from the c sdk need to pass types using var instead of pointer somewhere isapi unit that comes with delphi has not this problem
  8. RDP1974

    isapi filter windows 2022 cannot load

    a 32bit isapi I suppose (2005) maybe 64bit ver sdk iis 7.0 are problematic under win2022 or maybe some permission related things
  9. RDP1974

    D11.2 + FireDAC + MySQL 64 bit not working

    hi, I have many 4.0 industry software made in D11x and MySQL in Firedac I use libmysql.dll from the MySQL folder, this should be inserted in TFDPhysical vendorlib property under Windows Server 2016, 2019, 2022 works fine you have to setup microsoft visual c runtime before https://learn.microsoft.com/it-it/cpp/windows/latest-supported-vc-redist?view=msvc-170
  10. RDP1974

    tgridpanel resize

    hi I have a TGridPanel with 3 columns set as ssPercent 33.3% and the proportions are fine now I set at runtime the column 3 at 0% then the screen redraws ok with the first 2 columns at 50% then I set back the column 3 at 33.3% but the proportions are not ok, the resulting column is smaller any hint? thanks
  11. I'm seeking a professional with little expertize in mobile fmx 3d (really basic shapes) contact to my email please "rdp at dellapasqua dot com" thanks
  12. RDP1974

    mobile gps

    hi, I'm developing a mobile app where I want to send the gps point every N seconds through a websocket. perhaps can somebody suggest me a good interval ratio to preserve the battery time? thanks
  13. hi, I have built the libraries with the latest sources of https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html and https://www.intel.com/content/www/us/en/developer/tools/oneapi/onetbb.html I had zero warnings or problems on compile. Here the files https://github.com/RDP1974/Delphi64RTL Look the TBB allocator is very prone to detect memory errors as double free or overruns. In multithreaded apps as web applications you will get a large performance improvement. Btw. Intel license is totally permissive free to distribute and deploy everywhere please let me know if you discover errors Quick test with WebBroker Indy app producing a plain: program Project1; uses RDPMM64, Vcl.Forms, Web.WebReq, ... procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); begin Response.Content := '<html>' + '<head><title>Web Server Application</title></head>' + '<body>Web Server Application '+FormatDateTime('yyyymmdd.hhnnss',Now)+'</body>' + '</html> end; Hyper-V i9 cpu windows 2022 server, 16 cores Host i9 cpu windows 10 pro Apache bench ab -n 1000 -c 100 -k -r http://localhost:8080/ Delphi 11 default Concurrency Level: 100 Time taken for tests: 1.845 seconds Complete requests: 1000 Failed requests: 0 Keep-Alive requests: 0 Total transferred: 250000 bytes HTML transferred: 114000 bytes Requests per second: 542.04 [#/sec] (mean) Time per request: 184.488 [ms] (mean) Time per request: 1.845 [ms] (mean, across all concurrent requests) Transfer rate: 132.33 [Kbytes/sec] received Delphi 11 (with Intel libs): Concurrency Level: 100 Time taken for tests: 0.297 seconds Complete requests: 1000 Failed requests: 0 Keep-Alive requests: 0 Total transferred: 250000 bytes HTML transferred: 114000 bytes Requests per second: 3364.56 [#/sec] (mean) Time per request: 29.722 [ms] (mean) Time per request: 0.297 [ms] (mean, across all concurrent requests) Transfer rate: 821.42 [Kbytes/sec] received
  14. it's odd to me also that msheap and default mm are producing identical score, thus you can see the numbers inside are different. Really I didn't touch the images, only print-screen. Probably the source is using GetTickCount that's not so accurate, producing identical result. For sure using a highres api as QueryPerformance* the results should be more accurate. Anyway this is not a good tool for memory stress test.
  15. where to find a general purpose "benchmark" or stress test?
  16. Hi Eivind, I post here the results of my test (Delphi 11.2.1, I9 win11 2h22 host, win 2022 server hyper-v) In single thread we obtain similar performances among default mm, msheap and nexus in attached image: MSHEAP, NEXUS, DEFAULT MM in webserver multithreading it's excellent: MSHEAP Total transferred: 250000 bytes HTML transferred: 114000 bytes Requests per second: 2933.46 [#/sec] (mean) Transfer rate: 716.18 [Kbytes/sec] received NEXUS Total transferred: 250000 bytes HTML transferred: 114000 bytes Requests per second: 2943.01 [#/sec] (mean) Transfer rate: 718.51 [Kbytes/sec] received DEFAULT Total transferred: 250000 bytes HTML transferred: 114000 bytes Requests per second: 291.80 [#/sec] (mean) Transfer rate: 71.24 [Kbytes/sec] received
  17. hi, do you know a good source of algotithms for location based purposes? example calc the distance between two coordinates, etc. thank you
  18. RDP1974

    location based

    well, calculate the distance between two points is needed
  19. RDP1974

    location based

    thank you if I have time will try to implement a general purpose KNN R-Tree algorithm in pascal
  20. can you suggest me a good tutorial about Delphi generics? especially, when and where they are useful? in which purposes? performance wyse are they trustable?
  21. RDP1974

    generics

    Delphi language is evolved a lot in the last years should be very useful a blog where to show the new language capabilities btw. example public type TWriteItem<T> = reference to procedure(const TaggedFile: ITaggedFile; const Item: T); a type inside a class? what is a reference to procedure? great, under the hood the enumeration how it is engineered? hash table? binary-search-tree? so the compiler will produce "bloat" code for every generic class if I see, else how to solve the fact that the type it is not defined before???
  22. if you wish, provide me a copy of this MM, I will benchmark it, agree?
  23. hi, I does exists a easy way to use a firedac custom monitor link inside a isapi webbroker?
  24. please sorry I'm a old customer of Nexus and let me tell you that your code is a masterpiece! kind regards
×