Jump to content
RCrandall

Delphi 10.4.1 and the IDE FIx Pack

Recommended Posts

I find that 10.,4.1 needs three minutes to compile my project where 10.3.3 with IDE Fix Pack needs only 25 seconds.  I've been lurking at the site but have seen no word yet on when an update with Sydney support will be out.  I don't remember it ever taking this long before.  Is anybody aware of any hold up in particular?

 

The page I am monitoring is https://www.idefixpack.de/blog/ide-tools/ide-fix-pack/

 

I'd like to switch over to 10.4.1 but 3 minutes is just too long!

 

Rob Crandall

  • Like 1

Share this post


Link to post

You have never worked with C++ ?
I don't think we will see it before a CE

Share this post


Link to post
24 minutes ago, Fritzew said:

You have never worked with C++ ?
I don't think we will see it before a CE

I hope that "CE" is not "civilization end" 🙂

  • Haha 1

Share this post


Link to post
33 minutes ago, Fritzew said:

I don't think we will see it before a CE

Correct.  Andreas has already gone on record stating that he no longer has a license to paid versions of RADStudio and so will not be able to update IDEFixPack for new IDE versions without their Community Editions.  And Embarcadero has already gone on record stating that releasing a 10.4 Community Edition has been delayed, with no ETA stated as of yet.

Share this post


Link to post

ah, now i understand the situation.  Thanks, Remy, for the very quick reply!

 

I'll just wait patiently then and hope for the best.

 

Rob Crandall

Share this post


Link to post
59 minutes ago, ŁukaszDe said:

You are not alone... report in topic: https://quality.embarcadero.com/browse/RSP-30910

 

Why we do not go another way ... and why does Embarcadero do not give Andreas free lifetime licenses or a lifetime subscription? 
We / Subscription owners pay a lot and sometimes we don't get anything within that subscription period + Andreas is doing / has done a lot for Delphi in the last years ... so this would be a very good roi for embarcadero IMO.

 

I don't know if Andreas would accept this ... but if he can, it would be a big plus for delphi ...

  • Like 3

Share this post


Link to post

AFAIK, Embarcadero offered a free one-year license (similar to what MVPs and Tech Partners get) to Andreas - probably more than once. Seems there is not much interest.

  • Like 1

Share this post


Link to post

Many years ago Embarcadero/Codegear started restricting tech partner licenses to one year with no guarantee of renewal after that period.  No vendor will develop commercial software using such a license when they may be stopped from supporting it after a few months, and the same applies to freeware that needs to be continually updated.    There are now some older XE versions that are unusable because Embarcadero can no longer generate one year licences for them. 

 

Angus

 

  • Like 3
  • Thanks 2

Share this post


Link to post
22 minutes ago, Angus Robertson said:

No vendor will develop commercial software using such a license when they may be stopped from supporting it after a few months, and the same applies to freeware that needs to be continually updated.

But that applies to the Community Edition as well.

 

The only way to get around it is to buy a commercial license then (which is what I do btw.)

Share this post


Link to post
Posted (edited)

Hi...:classic_cool:

Question to Andreas: We can expect it?...sometime. :classic_rolleyes:

 

Great Work...Thanks.

Edited by haentschman

Share this post


Link to post

One thing which has helped at least some persons is to have a look at where units are put in uses. It often helped to put them into interface section rather than implementation section.

And somewhere else I read reports which compared 10.3.3 and 10.4.x both without fix pack and 10.4.x was measurably faster. It might not be as fast yet as everybody wishes, but at least noticeably faster.

 

Oh and somebody lately suspected it might have to do with unit scope like sometimes using SysUtils and sometimes System.SysUtils.

But that's a guess only.

Share this post


Link to post

Same here.

Still on Rio...

 

Does (can) any one actually use 10.4.1 for large desktop projects?

Share this post


Link to post
1 hour ago, santiago said:

Does (can) any one actually use 10.4.1 for large desktop projects?

Define Large

Share this post


Link to post
40 minutes ago, Uwe Raabe said:

Define Large

Lets say over 100 Units.

Share this post


Link to post
Posted (edited)

1,5M lines of code. I'm still on 103.3 😞

 

@jbg:

17 hours ago, haentschman said:

Hi...:classic_cool:

Question to Andreas: We can expect it?...sometime. :classic_rolleyes:

 

Great Work...Thanks.

From IdeFixPack probably we need just these patches

  • Compiler.Optimization
  • Compiler.BackgroundCompilerFileExists
  • Compiler.DirectorySearch;
  • Compiler.UnitFindByAlias
  • Compiler.CacheControl
  • Compiler.CompareFileName
Edited by ŁukaszDe

Share this post


Link to post
4 hours ago, ŁukaszDe said:
  • Compiler.Optimization
  • Compiler.BackgroundCompilerFileExists
  • Compiler.DirectorySearch;
  • Compiler.UnitFindByAlias
  • Compiler.CacheControl
  • Compiler.CompareFileName

Do you have any actual numbers (compilation time improvement) for any of these. We are gathering some from different developers, and at this point the top one is UnitFindByAlias. Now workaround is stop using unit aliases, but it is our top issue to fix in the compiler. We also have another not in the fix pack that we are rolling out early in a patch, affecting unit cache for large projects and causing compiler time to grow (dramatically!) over successive builds

 

If any other the fixes above (or any not listed) has a very significant effect, we can prioritize it. We are focused on reducing and eventually removing the need of the fix pack, but it takes time as some of the fixes are fairly direct (and many have been implemented in the past) while others require significant rework and spawn threads to do some of the work -- something valuable but requiring extensive testing

  • Like 7

Share this post


Link to post
Posted (edited)

Hi Marco I can suggest you to implement those features as optional with the possibility of enabling/disabling any of them. This will allow the users to deactivate any of them.

I can imagine that Andreas work is more complex because he has to inject the code in a precompiled application so if you integrate those patches in the development code it should be an easier task.

 

Regards

Edited by Christen Blom-Dahl
  • Like 1

Share this post


Link to post
Posted (edited)

There was a problem with the Compile Dialog as it was refreshed too frequently and since it's also themed it was very slow.

I can't find anything anymore regarding this issue, maybe it has been solved since, but it's easy to check if you disable the dialog and measure the compile time.

AFAIR IdeFixPack was targeting this problem too.

Edited by Attila Kovacs

Share this post


Link to post
Posted (edited)

@Marco Cantu

Project with 1,5 milion line of code. Compilation in 10.3.3 with IdeFixPack = 38s:

image.thumb.png.f873c6a626b719c3ae02b59f88f93839.png

 

I do one test, I turned off only patch UnitFindByAlias. Time of compilation = 1.55min

 

image.thumb.png.5068a893c89433ec698c9441f1cc5dcd.png

 

Commands to test it for others:

image.thumb.png.371faa39f4528babb08cb96ff6c3087b.png

 

Option in Project > Options > Building > Delphi Compiler > Unit Aliases is empty in my project.

 

 

Edited by ŁukaszDe
  • Like 3

Share this post


Link to post
Posted (edited)
6 hours ago, ŁukaszDe said:

@Marco Cantu

I do one test, I turned off only patch UnitFindByAlias. Time of compilation = 1.55min

How do you activate/deactivate individual patches?

 

-- EDIT --

 

nevermind. I see you attached a screenshot on how to do it.

 

Thank you!

 

Edited by santiago

Share this post


Link to post

I did some quick tests with our project.

 

2.1 mio lines of code. (1 group project, consisting of 24 projects).

 

10.3.3

=1.08 min

 

Disabling the UnitFindByAlias patch, makes it 20 seconds slower.

This is similar to the build time using 10.4.1

 

In the Delphi Compiler Options, UnitAlias is empty.

 

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

×