Some thing make pass 3 of the compiler very slow for class depending of vision 2

23 views
Skip to first unread message

jacques silberstein

unread,
Feb 23, 2021, 1:41:27 PM2/23/21
to eiffel...@googlegroups.com


I just change the color value in a class which is a descendent of EV_WIDGET.
Only one correction on one class !

mardi 23 février 2021, 19:15:39 (UTC+0100)
Eiffel Compilation Manager
Version 20.11.10.5048 - linux-x86-64

Degree 6: Examining System
Degree 5: Parsing Classes
Degree 4: Analyzing Inheritance
Degree 3: Checking Types
Degree 2: Generating Byte Code
Degree 1: Generating Metadata
Melting System Changes
System Recompiled.
mardi 23 février 2021, 19:18:28 (UTC+0100)

The pass 3 take about 3 minutes !!!!
=====================================

Then, I change a comment in a class which has no relation wich vision 2.

mardi 23 février 2021, 19:23:53 (UTC+0100)
Eiffel Compilation Manager
Version 20.11.10.5048 - linux-x86-64

Degree 6: Examining System
Degree 5: Parsing Classes
Degree 4: Analyzing Inheritance
Degree 3: Checking Types
Degree 2: Generating Byte Code
Degree 1: Generating Metadata
Melting System Changes
-------------------------------------------------------------------------------

Error code: Obsolete Call

Warning: call uses obsolete feature.
What to do: update to new feature at your earliest convenience. The
feature is still available but may be removed in the future.

Class: STARTER
Class: STARTER
Feature: complete_data_context
Obsolete feature: as_string_8: STRING_8 (class STRING_32)
Obsolete message:
For 32-bit strings:
- use explicit conversion `to_string_8` with a test that the string is made of ASCII characters only.
For 8-bit strings:
- consider changing the type of reattachmanet target to READABLE_STRING_8 or
- use explicit conversion `to_string_8` to avoid implicit performance penalty.
[2019-11-30]
Line: 213
if attached os.item ("PATH") as p then
-> log ("PATH=" + p)
end

-------------------------------------------------------------------------------
System Recompiled.
mardi 23 février 2021, 19:23:54 (UTC+0100)


Elpsed time : 19:23:54 - 19:23:53 = 1 sec.
==============================================

This problem can be reproduiced wich any vision dependant class.
What's the mater ?

Jacques

r...@amalasoft.com

unread,
Feb 23, 2021, 3:06:45 PM2/23/21
to eiffel...@googlegroups.com
Sounds like global dataflow analysis cost when changing a class inherited by and/or used by a large number of other classes.  Each dependency needs to be verified.
R
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/eiffel-users/20210223194124.31e12c5b%40neuchatel.

Ulrich Windl

unread,
Feb 24, 2021, 1:53:57 AM2/24/21
to eiffel...@googlegroups.com
Hi!

I have no answer for this, but questions:
Does the Eiffel runtime have provisions to measure where time was spent (a
tool like gprof)?
If so, is there a way to let the compiler explain where it spent its time?
My only idea for the problem is (as Eiffel may be resource-hungry): Do you
have "enough" RAM? ;-)

Regards,
Ulrich

>>> jacques silberstein <jac...@abstraction.ch> schrieb am 23.02.2021 um
19:41 in
Nachricht <20210223194124.31e12c5b@neuchatel>:
Reply all
Reply to author
Forward
0 new messages