-
Content Count
73 -
Joined
-
Last visited
-
Days Won
2
Everything posted by chmichael
-
It's slow to me for the past couple days
-
UltraCode64 for Delphi (aka 64-bit FastCode)
chmichael posted a topic in RTL and Delphi Object Pascal
Hello Guys & Girls, Since i'm getting bored to wait from Embarcadero to speed up delphi i thought it would be nice for us ("the community") to help out the things a bit. So i started a new project on the GitHub which it will allow us to build the Fastest RTL is possible for Delphi. The targets are: CPU: PASCAL, SSE3, AVX, ARM Operating Systems: Windows, MacOS, Linux, iOS, Android GPU: OpenCL, Vulkan (Just an idea to use GPU to accelerate RTL) (Single & Parallel routines) What do you think ? I hope anyone will start contribute and make Delphi Fastest Again! Thank you Github: https://github.com/chmichael/UltraCode64 Poll for 32 bit: http://www.easypolls.net/poll.html?p=5d24b2c8e4b02fae1dda847d -
UltraCode64 for Delphi (aka 64-bit FastCode)
chmichael replied to chmichael's topic in RTL and Delphi Object Pascal
Nothing can help with bad coding but you bypass compiler using optimized direct assembler routines -
UltraCode64 for Delphi (aka 64-bit FastCode)
chmichael replied to chmichael's topic in RTL and Delphi Object Pascal
Simple. We can't touch the compilers but we can impove everything else. Even free pascal has faster functions as @david bernedaposted. I remind you delphi is still using code from FastCode from the past. There routines 50% faster than the shipped ones (even basic most used routines) in Delphi so do you think that it won't improve your application perfomance ? -
UltraCode64 for Delphi (aka 64-bit FastCode)
chmichael replied to chmichael's topic in RTL and Delphi Object Pascal
It's community time Embarcadero will do it's own thing we do our thing. -
UltraCode64 for Delphi (aka 64-bit FastCode)
chmichael replied to chmichael's topic in RTL and Delphi Object Pascal
Indeed. Occupied with other things ... Hope you like what i am preparing as idea. -
UltraCode64 for Delphi (aka 64-bit FastCode)
chmichael replied to chmichael's topic in RTL and Delphi Object Pascal
Nice i'll include your functions. From your testing seems free pascal has faster functions than Delphi will have to check this -
UltraCode64 for Delphi (aka 64-bit FastCode)
chmichael replied to chmichael's topic in RTL and Delphi Object Pascal
I am finishing some other things within couple months and will work on it but it will be a better project. I'll post on this forum when something is ready. -
What new features would you like to see in Delphi 13?
chmichael replied to PeterPanettone's topic in Delphi IDE and APIs
CrossVCL should be awesome and Open Source RTL as C# has -
Worker thread queue performance
chmichael replied to snowdev's topic in Algorithms, Data Structures and Class Design
Why you don't use TMonitor ?- 30 replies
-
- multithreading
- queue
-
(and 5 more)
Tagged with:
-
Hello, Wouldn't be nice to enable Discussions on github for indy ? Thank you
-
1) It's better organized 2) It's all in one place (code/issues/discussions) Now if you don't want to enable it at least put a note that there is a "Indy delphipraxis forum" on the github so people don't open issues for questions.
-
Hello, Is there any function to get the TDateTime from the header which is "last-modified: Sun, 29 Dec 2024 23:06:49 GMT" Thank you
-
Header Last Modifed to TDateTime
chmichael replied to chmichael's topic in ICS - Internet Component Suite
Why i missed that ? Thank you -
Hello, I get a "attachment.asm" or (.htm if it's html) in the e-mail ICS 9.3 SVN sends. Any ideas ? Thank you
-
ICS 9.3 SVN SMTP Attachment
chmichael replied to chmichael's topic in ICS - Internet Component Suite
It's fixed with ICS V9.4 - Part 6 -> Fixed bug introduced in V9.3 which corrupted the Content-Transfer-Encoding header line if not 7bit. -
ICS 9.3 SVN SMTP Attachment
chmichael replied to chmichael's topic in ICS - Internet Component Suite
I'll take a deeply look when i find some time -
ICS 9.3 SVN SMTP Attachment
chmichael replied to chmichael's topic in ICS - Internet Component Suite
I think the error is header for whatever reason it's not the correct eg: v9.1: Content-Transfer-Encoding: quoted-printable v9.3: Content-Transfer-Encoding: q Seems 9.3 doesn't apply the correct header values Also Return-Path: <> is empty (in both v9.1 and v9.3) -
ICS 9.3 SVN SMTP Attachment
chmichael replied to chmichael's topic in ICS - Internet Component Suite
Hello, Here's the function which i send the e-mails function SendEMail(const AArgs: TArray<String>): String; var FSMTP: TSSLSmtpCli; begin FSMTP := TSSLSmtpCli.Create(nil); FSMTP.SslContext := TSslContext.Create(nil); FSMTP.SslContext.SslMinVersion := sslVerTLS1_2; with FSMTP do begin Host := 'my.emailserver.com'; Port := '587'; Username := 'myuser@emailserver.com'; Password := 'mypassword'; AuthType := smtpAuthAutoSelect; ContentType := smtpHtml; // Important !!! Set it First //Allow8bitChars := False; //ConvertToCharset := True; CharSet := 'UTF-8'; HdrFrom := 'myuser@emailserver.com'; HdrTo := 'myuser@emailserver.com'; RcptName.Text := HdrTo; HdrSubject := UTF8Encode(VarToStr(AArgs[0])); if Length(AArgs) > 1 then MailMessage.Text := UTF8Encode(VarToStr(AArgs[2])); OpenSync; MailSync; Result := ErrorMessage; FreeAndNil(FSMTP.SslContext); FreeAndNil(FSMTP); end; end; Using the v9.3 SVN version the e-mail which it sends adds an extra attachment which v9.1 didn't: (either plaintext either html) -
Hello, Anyone translated MSQuic headers for Delphi use ? Seems to be the best implementation atm. Thank you
-
Experimenting with message protocols and DNS
-
This isn't a problem in a year from now most will use Windows 11. Messaging protocols and middleware benefit also. Yes i know it's time consuming task but you can make sell it. atm only esegece has native delphi http/2 support as far i know. It would be nice to have a benchmark between esegece HTTP/2 vs ICS HTTP 1.1.
-
Hello, How can i check if a TCP port is open over Internet with timeout using ICS ? Thank you
-
TCP Port Check with timeout
chmichael replied to chmichael's topic in ICS - Internet Component Suite
Got it! Thanks! -
TCP Port Check with timeout
chmichael replied to chmichael's topic in ICS - Internet Component Suite
Ok, i fixed the routine to work both on main and on a thread. It works correctly locally but remotely it always connect OK even if the "server/port" is closed. Any ideas ? btw, doSocketRemoteClick has the same behavior. function IsInternetPortOpenICS(const AIPAddress: AnsiString = ''; const APort: Word = 0; const ATimeOut: NativeUInt = INFINITE): Boolean; var IpLogClient: TIcsIpStrmLog; FThreadID, FTimeout: NativeUInt; begin Result := False; try FThreadID := GetCurrentThreadId; IpLogClient := TIcsIpStrmLog.Create(nil); IpLogClient.LogProtocol := logprotTcpClient; IpLogClient.RemoteHost := AIPAddress; IpLogClient.RemoteIpPort := APort.ToString; //IpLogClient.onLogProgEvent := Form9.onCliLogProgEvent; //IpLogClient.CheckPing := True; //IpLogClient.PingWaitSecs := 1; if FThreadID <> MainThreadID then IpLogClient.MultiThreaded := True; IpLogClient.StartLogging; FTimeout := 0; while FTimeout < ATimeout do begin if FThreadID = MainThreadID then Application.ProcessMessages else IpLogClient.ProcessMessages; Result := IpLogClient.States[0] = logstateOK; if Application.Terminated or Result then Break; Inc(FTimeout, 10); Sleep(10); end; IpLogClient.StopLogging; finally if Assigned(IpLogClient) and IpLogClient.AnyStateOK then IpLogClient.StopLogging; FreeAndNil(IpLogClient); end; end;