Jump to content
Syntri

IDE Fix pack for Rio

Recommended Posts

Deep in the release notes I have seen some comments regarding the implementation of some of Andreas' patches directly into the official release. But I couldn't find any further info if this is the full feature set of the Fix Pack or only a few selected patches.

Share this post


Link to post
27 minutes ago, Fred Ahrens said:

the implementation of some of Andreas' patches directly into the official release

I can also vaguely remember that Andreas claimed that as the reason why there will be no IDE Fix Pack for Rio. Unfortunately I cannot find that statement anymore, so it should be taken with care.

Share this post


Link to post
23 minutes ago, Markus Kinzler said:

He mentioned that his subscription was running out.

With the new community edition this shouldn't be a problem.

 

27 minutes ago, ŁukaszDe said:

Without IDE Fix Pack projects compile twice as long.

I can second that. It takes double time.

Share this post


Link to post
35 minutes ago, ŁukaszDe said:

Without IDE Fix Pack projects compile twice as long.

You can't know that because IDE Fix Pack does not exist for Rio. 

  • Like 1

Share this post


Link to post

If IDE FIx Pack significantly reduced the compilation time of the project in XE2 and 10.2.3, it probably will do it also in 10.3 (the same project).

 

In the subject:

RSP-21934

Edited by ŁukaszDe

Share this post


Link to post

As far as i understood EMBT, the IdeFixPack should be partly Integrated.

Is there still tve need for the rest ?

 

  • Like 1

Share this post


Link to post

In http://docwiki.embarcadero.com/RADStudio/Rio/en/What's_New see the chapter "Fix Pack improvements":

Quote

Fix Pack Improvements

RAD Studio 10.3 Rio includes some of Andreas Hausladen's “IDE Fix Pack” fixes and improvements. Most of the incorporated fixes are focused around the IDE and include the following:

  • High resolution timer caused by using Virtual Treeview.
  • FindHInstance optimisations.
  • Debugger using CREATE_DEFAULT_ERROR_MODE when creating the process.
  • TStringList IndexOf and Name optimisations.

So nothing connected to the compiler. Way to go that extra mile, EMBT.

Share this post


Link to post
7 minutes ago, Rollo62 said:

As far as i understood EMBT, the IdeFixPack should be partly Integrated.

Is there still tve need for the rest ?

 

Yes, as ŁukaszDe says, building takes a lot (2 or 3 times) longer as Tokyo with the FixPack.

Share this post


Link to post
1 hour ago, ŁukaszDe said:

If IDE FIx Pack significantly reduced the compilation time of the project in XE2 and 10.2.3, it probably will do it also in 10.3 (the same project).

 

In the subject:

RSP-21934

Assuming that the integration of IDE Fix Pack doesn't address compiler performance. Which it might. Or might not.

 

Easy enough to compare 10.2 and 10.3 rather than guessing. 

Share this post


Link to post

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.

  • Like 2
  • Thanks 1

Share this post


Link to post

I have similar results. The compiler on 10.3 is faster without any FixPack, than the compiler of 10.2.3 with the FixPack installed. So, I am fine with that part.

 

... 🐈 ...

  • Like 2

Share this post


Link to post

My project.

The time of compilation with and without IDE Fix Pack is very different.

 

10.2.3 with IDE Fix Pack

10.2.3 with IDE Fix Pack.jpg

 

10.2.3 without IDE Fix Pack

10.2.3 no IDE Fix Pack.jpg

 

10.3

10.3 no IDE Fix Pack.jpg

 

XE2 with IDE Fix Pack

XE2 with IDE Fix Pack.jpg

 

XE2 without IDE Fix Pack

XE2 no IDE Fix Pack.jpg

 

CnPack Source Statistics from: 

XE2

CnPack Source Statistic in XE2.jpg

10.2.3

CnPack Source Statistic in 10.2.3.jpg

10.3

CnPack Source Statistic in 10.3.jpg

Edited by ŁukaszDe
  • Like 1

Share this post


Link to post

Well, I'm sure Andreas Hausladen could improve the result for 10.3 anyway.

Share this post


Link to post

The patches that went in 10.3 are mostly IDE related and not compiler related afaik.

Also from a few comments about the progress dialog alone affecting the duration of the compilation I have the strange feeling that inside the IDE the progress callback is wired a bit wrong (synchronous instead of asynchronous) causing unnecessary extra slowdown.

Share this post


Link to post
41 minutes ago, Stefan Glienke said:

Also from a few comments about the progress dialog alone affecting the duration of the compilation I have the strange feeling that inside the IDE the progress callback is wired a bit wrong (synchronous instead of asynchronous) causing unnecessary extra slowdown.

Unless you use the external compiler, the compiler runs in the main thread and every time it updates the progress dialog it "pauses" the compilation. IDE Fix Pack reduces the slowdown a little bit by only updating the UI after a certain time interval or a filename change, thus not every "compiled lines" update repaints the UI.

 

Quote

The patches that went in 10.3 are mostly IDE related and not compiler related afaik.

There are changes in the 64 bit compiler (e.g. some loop unrolling)

Edited by jbg
  • Like 1
  • Thanks 6
  • Sad 2

Share this post


Link to post
4 minutes ago, jbg said:

compiler runs in the main thread and every time it updates the progress dialog it "pauses" the compilation

*facepalm*

Share this post


Link to post
17 minutes ago, jbg said:

Unless you use the external compiler, the compiler runs in the main thread

I hope that is also not the case when background compilation is enabled.

Share this post


Link to post

I believe Embarcadero acquired rights to Ide FIX pack and changes are added to IDE it self, embarcadero only knows which ones and how tough...

 

Andy is now trying to make DDevExtensions for Rio, but had some problems with debugging Ide bpls, I think I saw tweet yesterday.

 

-Tee-

Share this post


Link to post
16 hours ago, jbg said:

There are changes in the 64 bit compiler (e.g. some loop unrolling)

Where this information came from?
If it is the case, I didn't see any performance enhancement at execution, at least from our mORMot regression tests, which run a lot of performance measurements.
In fact, most loop unrolling could even be slower on modern CPUs - for instance, AES unrolled loop which was faster on P4 is slower than a tuned rolled loop.
I doubt EMB did make proper compiler optimization in loop unrolling, and let the inlining performance problems remain.

Share this post


Link to post
2 hours ago, Arnaud Bouchez said:

Where this information came from?

The code optimizer didn't get a loop unrolling feature.

 

In the compiler's own code there are now some loops unrolled, that IDEFixPack used to replace by SSE instructions. The performance gain is not measurable but the IDEFixPack compiler patches couldn't find the function's memory addresses anymore.

 

for I := 0 to 3 do
  A[I] := 0;

became

Zero := 0; // clear one CPU register for all the assignments, instead of clearing the same cpu register for every line.
A[0] := Zero;
A[1] := Zero;
A[2] := Zero;
A[3] := Zero;

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×