ŁukaszDe 38 Posted December 12, 2018 Compilation time dropped to 44s when I used IdeFixPack from @jbg post in another topic: When I start Delphi 10.3 I have errors from IdeFixPack: Waiting for next version without errors! Thank's Andreas. Share this post Link to post
jbg 239 Posted December 12, 2018 11 minutes ago, ŁukaszDe said: Waiting for next version without errors! There is no IDEFixPack for Rio, yet. There is only the "not_even_alpha" Download with the comment that you shouldn't even come near the Win64 or Android compiler if you install it. That is a work-in-progress version that I uploaded only to help to identify a specific problem. 1 Share this post Link to post
Kryvich 165 Posted December 12, 2018 On 12/4/2018 at 6:39 PM, Kryvich said: I measured a time to build the camera_shake.dpr project from TERRA-Engine framework in Delphi 10.2.3 and Delphi 10.3. TERRA Engine is a complex cross-platform engine, known for its cyclic unit references, and freezes in IDE. Camera_shake.dpr project build time, Windows 32-bit platform: Delphi 10.2.3 with IDE Fix Pack 6.3.1, Compiler Speed Pack x86 / x64 6.3.1 -- 06 min 59 sec. Delphi 10.3 -- 06 min 33 sec. I measured the time on my phone manually, so there may be some error. Delphi 10.3 with IDE Fix Pack dev 2018-12-11-2343, Compiler Speed Pack x86 / x64 dev 2018-12-11-2343 -- 05 min 53 sec. :) IDE Fix Pack is an IDE package that I always installed the very first when switching to a new version of Delphi. Share this post Link to post
ŁukaszDe 38 Posted December 12, 2018 @jbg Ok, I understand, it's not a problem. I'm mainly use 32bit compiller for windows application. I wrote here to show that Rio needs IdeFixPack too. Share this post Link to post
Mohammed Nasman 11 Posted December 13, 2018 (edited) Last andy tweet: Edited December 13, 2018 by Mohammed Nasman Share this post Link to post
dummzeuch 1505 Posted December 13, 2018 Seen that one too. So it's not my code that's causing it. Good to know. Share this post Link to post
Tony Hoyle 2 Posted January 7, 2019 Quote Another one waiting for idefixpack here. We were happy to learn that some of the fixes had been put into base 10.3, but clearly not any of the speed one. Delphi 10.2 45 seconds Delphi 10.3 4 minutes 3 seconds It's really not usable at the moment, so we're holding off rollout until it's available. Share this post Link to post
Stéphane Wierzbicki 45 Posted January 7, 2019 We are waiting Andy like a prophet 😉 1 Share this post Link to post
jbg 239 Posted January 7, 2019 There are still 6 patches collections (about 30 function patches) that I have to reimplement. At least the Win64 compiler doesn't crash anymore. So it will still take a lot of time to get a usable release version. 3 9 Share this post Link to post
Günther Schoch 61 Posted January 10, 2019 In our environment the missing "TDirectoryCache" of the FixPack seems to be the main blocker. We have reported this issues already middle of Sept (https://quality.embarcadero.com/browse/RSP-21972, https://quality.embarcadero.com/browse/RSP-22289). It was reproduced by EMBT but nothing happened until now. IMO a fixpack with only this feature would improve the speed already a lot for larger projects and solves the problem of the IDE freezes we do have. I asked EMBT several times to include such a cache into the SP1 of RIO. But no commitment yet. 1 Share this post Link to post
Stéphane Wierzbicki 45 Posted January 10, 2019 I agree. I don't know if it is easy or not for Andy but I will be really nice to have a IDE fix pack with this feature only. 1 Share this post Link to post
ŁukaszDe 38 Posted January 11, 2019 We are all waiting for IdeFixPack but this should be fixed by Embarcadero a long time ago... @Marco Cantu right? Share this post Link to post
jbg 239 Posted January 12, 2019 A new development snapshot of IDE Fix Pack for 10.3 Rio is available. The Win64 (DCC64) and Android (DCCAARM) compiler patches should now work as excepted. Changes: Added: Support for Delphi 10.3 Rio Added: Fix for TStringList.IndexOfName bug (RSP-21633) Added: Fix for access violoation in the Welcomepage JScript9.dll binding Added: TCustomListBox.ResetContent is skipped if the handle isn't created yet Added: DFM Streaming optimizations Added: FillChar uses Enhanced REP MOVSB/STOSB cpu feature if available for large sizes. Added: Enabled CPU LOCK string assignment optimization for local variables Added: -Oe (experimental optimizations) and -x-cgo compiler option extension (Remove of some unneccessary push/pop operations) Added: Expression Evaluator allows array access to pointers even if the type wasn't declared with {$POINTERMATH ON} Added: New compiler option extensions: -x--compileonly, -x--reslist, -x--depfile, -x--unitstats Added: More performance optimization for the DCC64 compiler Added: TStringBuilder.SetLength optimization [RSP-19178] Added: TStrings.GetDelimitedText optimization Fixed: Packages with duplicate units may not have caused a fatal compiler error. IDEFixPackD103Reg64.7z fastdccD103vDev.7z 4 23 Share this post Link to post
John Kouraklis 94 Posted January 13, 2019 Thanks Andy Your contribution is invaluable 🙇♂️ although it's other people's job to fix all these issues Thanks again Share this post Link to post
Johan Bontes 11 Posted January 14, 2019 (edited) @jbg Hi Andy, I'm getting an error when compiling my project after installing the Delphi fix pack in Rio Community edition version: Embarcadero® Delphi 10.3 Version 26.0.32429.4364 Compiler Speed Pack x86 6.4 for Delphi 10.3 Windows 10 version 10.0 Build 17134 64-Bit edition When I run a 64-bit application under the debugger (F9) the following error pops up: Debugger Assertion Failure "apiOK" in ..\win32src\w64mgr.cpp at Line 79 [203B7664]{dbkdebugide260.bpl} Debug.TDebugKernel.msgBox (Line 5945, "Debug.pas" + 30) + $0 [2DFB6EB3]{bordbk260.dll} Unknown function at DllUnregisterServer + $5037 [2DFD37D6]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $98FE [2E067FC9]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $9E0F1 [2DFCA660]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $788 [2DFCA6DB]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $803 [2E0617AD]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $978D5 [189FB134]{bordbk260N.dll} Unknown function at @isDbkLoggingOn$qv + $302BC [189CDBB5]{bordbk260N.dll} Unknown function at @isDbkLoggingOn$qv + $2D3D [18A01FB3]{bordbk260N.dll} Unknown function at POSTEDHOOKPROC + $113F [18A0176F]{bordbk260N.dll} Unknown function at POSTEDHOOKPROC + $8FB [50067E99]{rtl260.bpl } System.@IntfCopy (Line 38197, "System.pas" + 6) + $0 [2E070CC5]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $A6DED [2DFB908C]{bordbk260.dll} Unknown function at DllUnregisterServer + $7210 [2E06F91B]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $A5A43 [2E06214A]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $98272 [2E062AA4]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $98BCC [2E0628D3]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $989FB [2E062033]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $9815B [2E061999]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $97AC1 [2E061521]{bordbk260.dll} Unknown function at @isDbkLoggingOn$qv + $97649 [2DFB7AEC]{bordbk260.dll} Unknown function at DllUnregisterServer + $5C70 [203B6357]{dbkdebugide260.bpl} Debug.TDebugKernel.CreateProcess (Line 5464, "Debug.pas" + 17) + $63 [0B6AE315]{IDEFixPack.dll} DbkCreateProcessWithRelHostApp.TDebugKernel_CreateProcessHook (Line 46, "DbkCreateProcessWithRelHostApp.pas" + 4) + $23 [203BDD5C]{dbkdebugide260.bpl} Debug.TProcess.CreateProcess (Line 9037, "Debug.pas" + 1) + $2D [203C4D51]{dbkdebugide260.bpl} Debug.TDebugger.DoCreateProcess (Line 11959, "Debug.pas" + 74) + $24 [203C4EF8]{dbkdebugide260.bpl} Debug.TDebugger.CreateProcess (Line 11986, "Debug.pas" + 7) + $2F [203C5A27]{dbkdebugide260.bpl} Debug.TDebugger.Run (Line 12395, "Debug.pas" + 23) + $33 [203C675C]{dbkdebugide260.bpl} Debug.TDebugger.Run (Line 12759, "Debug.pas" + 164) + $4D [203C062E]{dbkdebugide260.bpl} Debug.TDebugger.Run (Line 10370, "Debug.pas" + 0) + $2 [20866811]{coreide260.bpl} DebuggerMgr.TDebuggerMgr.Run (Line 2067, "DebuggerMgr.pas" + 21) + $5 [004AE277]{bds.exe } AppMain.TAppBuilder.RunRun (Line 3386, "AppMain.pas" + 1) + $3 [5017361B]{rtl260.bpl } System.Classes.TBasicAction.Execute (Line 17028, "System.Classes.pas" + 7) + $3 [50CCDE62]{vcl260.bpl } Vcl.ActnList.TCustomAction.Execute (Line 261, "Vcl.ActnList.pas" + 19) + $35 [0B6A880E]{IDEFixPack.dll} RefactoringActionUpdateFix.CustomActionExecute (Line 87, "RefactoringActionUpdateFix.pas" + 4) + $0 [50173483]{rtl260.bpl } System.Classes.TBasicActionLink.SetAction (Line 16939, "System.Classes.pas" + 0) + $3 [50CE54EC]{vcl260.bpl } Vcl.Controls.TControl.Click (Line 7501, "Vcl.Controls.pas" + 7) + $7 [50D644BC]{vcl260.bpl } Vcl.ComCtrls.TToolButton.Click (Line 21635, "Vcl.ComCtrls.pas" + 0) + $0 [50CE59B7]{vcl260.bpl } Vcl.Controls.TControl.WMLButtonUp (Line 7642, "Vcl.Controls.pas" + 7) + $6 [50CE4FAA]{vcl260.bpl } Vcl.Controls.TControl.WndProc (Line 7387, "Vcl.Controls.pas" + 91) + $6 [5005FE07]{rtl260.bpl } System.TObject.Dispatch (Line 18332, "System.pas" + 11) + $0 [09918E3E]{themeloader260.bpl} Idetheme.Vclstylehooks.TIDEStyleHook.WndProc + $7A [50067E88]{rtl260.bpl } System.@IntfClear (Line 38150, "System.pas" + 10) + $0 [099188F7]{themeloader260.bpl} Idetheme.Vclstylehooks.TIDEStyleHook.HandleMessage + $B7 [50067E88]{rtl260.bpl } System.@IntfClear (Line 38150, "System.pas" + 10) + $0 [500640D8]{rtl260.bpl } System.@FinalizeArray (Line 32811, "System.pas" + 144) + $0 [50CE4BE4]{vcl260.bpl } Vcl.Controls.TControl.Perform (Line 7165, "Vcl.Controls.pas" + 10) + $8 [50CE926E]{vcl260.bpl } Vcl.Controls.GetControlAtPos (Line 9967, "Vcl.Controls.pas" + 4) + $75 [50CE9336]{vcl260.bpl } Vcl.Controls.TWinControl.ControlAtPos (Line 9990, "Vcl.Controls.pas" + 13) + $E [50CE4BE4]{vcl260.bpl } Vcl.Controls.TControl.Perform (Line 7165, "Vcl.Controls.pas" + 10) + $8 [50CE9404]{vcl260.bpl } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 10014, "Vcl.Controls.pas" + 15) + $29 [50CE9A0C]{vcl260.bpl } Vcl.Controls.TWinControl.WndProc (Line 10191, "Vcl.Controls.pas" + 112) + $6 [50D665E9]{vcl260.bpl } Vcl.ComCtrls.TToolBar.UpdateButtonState (Line 22913, "Vcl.ComCtrls.pas" + 11) + $27 [50D6662A]{vcl260.bpl } Vcl.ComCtrls.TToolBar.UpdateButtonStates (Line 22924, "Vcl.ComCtrls.pas" + 3) + $4 [50D69060]{vcl260.bpl } Vcl.ComCtrls.TToolBar.WndProc (Line 24514, "Vcl.ComCtrls.pas" + 104) + $6 [50CE9178]{vcl260.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9944, "Vcl.Controls.pas" + 3) + $6 [50174370]{rtl260.bpl } System.Classes.CalcJmpOffset (Line 17554, "System.Classes.pas" + 0) + $0 [50E3E7A7]{vcl260.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10724, "Vcl.Forms.pas" + 23) + $1 [50E3E7EA]{vcl260.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10754, "Vcl.Forms.pas" + 1) + $4 [50E3EB1D]{vcl260.bpl } Vcl.Forms.TApplication.Run (Line 10892, "Vcl.Forms.pas" + 26) + $3 [00517FFA]{bds.exe } bds.bds (Line 214, "" + 7) + $7 Uninstalling the IDE-fix pack (ouch, that hurts) resolves the issue. Edited January 14, 2019 by Johan Bontes Share this post Link to post
Günther Schoch 61 Posted January 14, 2019 Thank you Andy. Just wanted to mention that https://quality.embarcadero.com/browse/RSP-21972 is solved by the FixPack (BETA). The IDE behavior under Rio is now as it was with 10.2 + FixPack. Share this post Link to post
miab 25 Posted January 14, 2019 How is it that one independent programmer has to improve Delphi IDE for over 10 years? Basically hacking them without access to sources? Delphi which subsequent versions are released for a large amount of money at least every year. 1 Share this post Link to post
Johan Bontes 11 Posted January 14, 2019 (edited) 10 minutes ago, miab said: How is it that one independent programmer has to improve Delphi IDE for over 10 years? Basically hacking them without access to sources? Delphi which subsequent versions are released for a large amount of money at least every year. As has been clarified by Hick Hodges a few times before (when he was working for Emba), all is exactly as Andy wants it. And he does have access to the source as per agreement. And no he does not get paid (as far as we know) and (as far as we know) that's how he wants it. This point keep coming up again and again and it's getting rather old, just be happy with the work Andy is doing and take your blessings where you can get them. Yes Emba should do more, better, faster etc but it is as it is. Edited January 14, 2019 by Johan Bontes 1 Share this post Link to post
miab 25 Posted January 14, 2019 22 minutes ago, Johan Bontes said: As has been clarified by Hick Hodges a few times before (when he was working for Emba), all is exactly as Andy wants it. And he does have access to the source as per agreement. From what Andreas writes, he does not have access to IDE sources:https://twitter.com/AndyHTech/status/1084150052560519168 But that is not the point. Why, in the case of a dozen paid editions and a dozen fix releases, Emba does not introduce these changes? 1 Share this post Link to post
John Kouraklis 94 Posted January 14, 2019 He should receive some payment. He keeps customers happy in a business that it is not his. But it's not us to judge what Andy should do. We're just happy for his contribution and we acknowledge this Share this post Link to post
Sherlock 663 Posted January 15, 2019 AFAIK Andy would rather get no money than having to submit to some of the issues he has with the contract(s) that would come with it. 1 Share this post Link to post
dummzeuch 1505 Posted January 15, 2019 53 minutes ago, Sherlock said: AFAIK Andy would rather get no money than having to submit to some of the issues he has with the contract(s) that would come with it. Not just contracts. Don't underestimate the hassle of declaring taxes and associated stuff for what essentially would still be pocket money. Share this post Link to post
Holger Flick 12 Posted January 17, 2019 Thanks, Andreas! Code navigation is finally working again! Share this post Link to post