Extremly slow compile Clarion 11

Hi,
I have strange problem with compile on Clarion 11. Some app after first compile, get slow on every other compile unitl I get out of Clarion 11 and load again.
It took few minutes to compile on second and every other time. First compile take 15 sec.

Any help about it ?

There’s an option somewhere (Options?) about Clarion keeping some info cached. That might need to be toggled

I have also got this problem.

No options settings changes it.

Anyone found a solution ?

When you say “No options settings changes it.”, this is not clear to me what you mean.
Tools, Options, expand Clarion node, Applications (AppGen), Cache Applications In-Memory after Editing
This option may improve the speed.

I have this option unticked, but I’ve got a machine which goes to 5Ghz with 48Gb of ram and NVMe drives, so its fast already.

If you have enough ram, maybe create a ram drive, partition it, install Clarion on it and then have some automated method to backup and restore the ram disk so you dont lose any work.

Dont know if this would work for you
How to Create a RAM Disk on Windows Server? | Windows OS Hub (woshub.com)

ImDisk Toolkit download | SourceForge.net

AMD Radeon RAMDisk

OSFMount - Mount Disk Images & Create RAM Drives (osforensics.com)

RAM Disk Tool from StarWind - Create a Superfast Storage (starwindsoftware.com)

Don’t bother with this.
Every decade or so I do a test with this, and it turns out there’s no benefit to doing this - and indeed whatever benefit there is gets smaller and smaller as hard-drives get faster. The root things to understand;

a) the Clarion directory itself is almost all “read”, not really any writes, and what there is to read is read quickly, and does not have a significant impact on the generate/compile/link processes.

b) generate and compile are both CPU bound. And given that they are single-threaded the speed of a single core is actually what matters. (Most CPU “speeds” are measured by taking the core speed and multiplying by the number of cores - but in this case it’s only the actual core speed that matters.)

c) storing intermediate files (.OBJ, .MAP, .$$$, .RES, .RSC can all be set via the REDirection file, and these should go to your fastest storage (SSD or NVMe etc)

cheers
Bruce

It’s unclear if you are using the term “compile” to mean “generate / compile / link” - or you are referring to the specific compile stage.

Generally speaking though a slowdown suggests that your machine is not giving the IDE physical ram, but virtual ram, which is a lot slower. So I’d start there seeing how much free physical ram the machine has, and how much the IDE is using.

Cheers
Bruce

We have “compilation” issues all the time. Slow generation happens sporadically and is usually due to the overall performance of the machine (low RAM, slow disks, etc.) I had such problems working in a virtual machine. But usually, the problem is somewhere in Clarion itself.
Once I click “generate and make” to build a small app and it is done after 30 sec and the next time it can take many minutes… And there are no signs that anything is being done. IDE simply hangs before it starts generating. I noticed that an attempt to close the IDE with “X” sometimes wakes it up and the generation starts immediately.
I suspect the problem is somewhere between the IDE (.NET) and the Clarion’s core (Win32).

1 Like

Wondering the size of your template registry and app. Both can unknowingly grow significantly.

Suggest delete (rename) your Registry.trf file and register all your templates. Somewhere I read that file gets bloated and disorganized.

Same for APP files. Export to TXA and create APP from TXA. Somethings will mess that up, like embed code with square bracket [ in column one. So if you not tried to import your TXA before I copy the APP and DCT to another folder and do a quick test. Then I do this:

1 Export to TXA
2 Move every APP related file to save folder CLW INC SLN CwProj
3 Create new APP using from TXA choice
4 Build then Compare CLW and INC

I know Ross Santos was a big fan of a TXA roundtrip like once a month

Agree with ABC but, if the hard disk is slow, then a ram drive, if enough ram, would help relative to the max speed of the CPU, because the ram will always be faster than a slow hard disk.

If you use VMware and you have this enabled VMs with side channel mitigations enabled may exhibit performance degradation (vmware.com)

my virtual pc compiles as fast as about a Pentium 90 machine, and like I said above, I have an Intel i10700 which goes to 4.8/4.9/5.0 Ghz, 48GB ram and NVMe drives. Its fast.

Spectre/Meltdown is the exploitation of speculation.

https://suif.stanford.edu/papers/lam92/subsection3_2_1.html

https://msrc-blog.microsoft.com/2018/03/15/mitigating-speculative-execution-side-channel-hardware-vulnerabilities/

1 Like

I agree completely, but when might there be a utility to automate this?

My experience is that App files grow each time they are opened and saved, even with no changes. Have not ever tried to track the registry growth, but have noted that re-registering as you mention did at one time cut the size from 400K to 12K.

So a TXA export import is a way to clean up the internal app file then? I didnt know that, might setup a routine, maybe a daily task to see if reduces the problems I see with hanging in c11.

We encountered many problems in Clarion 11 after exporting / importing the entire APP - lost settings of extensions and shifted embed points.

It’s not an ABC or Legacy issue - if anything ABC is much faster since far less code to generate or compile.

But even with a fast CPU, and really slow hard drive, the gains of a RAM drive are insignificant (in my tests). Maybe a 10% gain in the best case, but nothing worth the effort of a RAM drive.

That seems inaccurate - especially since you say “every time” since I’ve got apps that have been opened, quite literally, thousands, if not tens of thousands of times, and if they got bigger each time they’d be enormous by now.

The registry can certainly grow (with updates etc) so I tend to prune off templates I don’t use (H5 etc).

Everyone using source control saves their apps in TXA format. Actually that is the primary format. Load creates the APP from the APV every time

Inaccurate? I can imagine not every user’s experience will be the same and perhaps it might vary according to templates used. However, here is a bit of my data:

TemplateRegistry11.trf
9/17/20 07:18am - 36,749K
9/17/20 11:16am - 9,876K After re-register
3/19/21 09:07am - 60,087K NO templates have been added/updated
3/19/21 09:13am - 60,098K After opening registry, save, no changes

Cannot imagine how this could work in more complex systems… With txd we have even more problems than with txa - missing descriptions, options, option values, changing positions of blob fields. Maybe these problems are irrelevant to others, but for us they are important due to the tools and utility templates we use - e.g. we use them to generate files that are the basis for Entity Framework mappings.

Best regards,
Andrzej

And a quick followup with App file data that just tested:

JExp.app
03/19/21 10:01am - 6,544K
03/19/21 10:03am - 6,548K Moved 1 check control down 10
03/19/21 10:06am - 6,549K Moved 1 check control down 4
03/19/21 10:11am - 6,549K Restart Clarion; Move 1 check control up 10

No idea what other factors might come into play. I have not had problems w/ TXA export/import and have long done so as a precaution, probably dating back to the Santos days.

Rick Martin’s Version Control Interface addon works really well, and has facilities to automate import/export. Search for “Upper Park” on Clarionshop.com.