Sparx Systems Forum

Enterprise Architect => Automation Interface, Add-Ins and Tools => Topic started by: Ian Mitchell on September 13, 2023, 01:44:33 am

Title: Improve performance of EA.Attribute.update
Post by: Ian Mitchell on September 13, 2023, 01:44:33 am
I have an application which needs to create a lot of new EA classes, each with some class attributes.
I have done all the performance tricks I can think of, including Repository.EnableUIUpdate=false, but the slow part of the process still seems to be the update to each attribute, after it is created: EA.Attribute.update.
Does anyone have any ideas for making this faster?
For scale, I have about 100 classes to create, and about 5-10 attributes for each one, so i'm cool that 500-1000 attributes will take a while, but if there is any way to make it faster, that would be great.
Title: Re: Improve performance of EA.Attribute.update
Post by: Geert Bellekens on September 13, 2023, 04:56:00 pm
I don't think there's much you can do, except for inserting records in the database directly; but that is so naugthy even I don't do that.

Geert
Title: Re: Improve performance of EA.Attribute.update
Post by: Ian Mitchell on September 13, 2023, 10:43:58 pm
Really? Not even once, when you really needed to make it go fast?
Thanks anyway
Title: Re: Improve performance of EA.Attribute.update
Post by: ea0522 on September 13, 2023, 10:51:29 pm
Would it be possible to split the action in some smaller actions?
I could imagine there might be a performance penalty in keeping the updates before the final commit.
Which could be tricked with multiple commits in between.

Or maybe using excel for importing?
Title: Re: Improve performance of EA.Attribute.update
Post by: Geert Bellekens on September 13, 2023, 11:02:53 pm
Would it be possible to split the action in some smaller actions?
I could imagine there might be a performance penalty in keeping the updates before the final commit.
Which could be tricked with multiple commits in between.

Or maybe using excel for importing?
t_attribute.Update is the smallest possible operation and it commits immediately.
With excel you would still need the updates, so that doesn't make a difference.

Geert
Title: Re: Improve performance of EA.Attribute.update
Post by: Geert Bellekens on September 13, 2023, 11:04:10 pm
Really? Not even once, when you really needed to make it go fast?
Thanks anyway
No, honestly; never done that

Geert
Title: Re: Improve performance of EA.Attribute.update
Post by: Paolo F Cantoni on September 14, 2023, 08:18:53 am
I don't think there's much you can do except for inserting records in the database directly, but that is so naughty even I don't do that.

Geert
90% of our repository management is via direct DB manipulation (and has been so for the last decade and more).  If it's naughty, then like Brian, "I'm not the Messiah, just a very naughty boy!"


Once you get over your initial apprehension, it's not that hard.  Qwerty's magic books help a lot!


Paolo
Title: Re: Improve performance of EA.Attribute.update
Post by: Modesto Vega on September 15, 2023, 06:40:27 pm
Hi Ian, are you using a direct database connection or going through PCS? Are you running 32-bit or64-bit?

My experience is that running operations through PCS performs better than direct database connections.