Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add -o2 to scxmlcc test #181

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

jp-embedded
Copy link

scxmlcc is designed to make the compiler able optimize away empty actions, etc.
For this to work, optimizations must be enabled, so the scxmlcc test program really should be compiled with -O2 when testing performance.

@sradomski
Copy link
Member

When I added compiler optimizations back then, the time required for the compilation increased to an unacceptable level. As you removed the timeout invocation, I am curious if you have actually run the benchmarks with -O2?

@jp-embedded
Copy link
Author

Yes, I have run the benchmarks

Yes, it is quite challenging for scmlcc to handle this many parallel children. I just thought a long compilation time was better than no result.

But some of the tests takes quite some time for uscxml also. For example the fast LCCA.256 takes 30s to initialize and the fast Transitions.256 takes 56s. (on my machine) - see log below

I have now put the timeout back on and increased it to 2 minutes. This allows more of the tests to complete for both uscxml and scxmlcc.

What do you think of that?

== Running LCCA.256 from /home/jp/work/uscxml/test/benchmarks/LCCA.256.scxml ==== with USCXML [Info] Registering at unstarted HTTP Server [Info] Registering at unstarted HTTP Server 30426, 6 30426, 6 30426, 6 30426, 5 30426, 6 30426, 6 30426, 6 30426, 6 30426, 6 [Info] Registering at unstarted HTTP Server [Info] Registering at unstarted HTTP Server 779, 26 779, 25 779, 25 779, 25 779, 25 779, 25 779, 25 779, 25 779, 25 == Running Transitions.256 from /home/jp/work/uscxml/test/benchmarks/Transitions.256.scxml ==== with USCXML [Info] Registering at unstarted HTTP Server [Info] Registering at unstarted HTTP Server 56104, 551 56104, 584 56104, 519 56104, 521 56104, 506 56104, 487 56104, 441 56104, 472 56104, 484 [Info] Registering at unstarted HTTP Server [Info] Registering at unstarted HTTP Server 570, 656 570, 841 570, 836 570, 845 570, 831 570, 842 570, 826 570, 858 570, 677

@sradomski
Copy link
Member

The fast implementation precalculates all predicates, whereas the large interpreter calculates and caches them on the fly. I’ll merge and update the graphs as soon as I have some time on my hands. I’ll leave this open as a reminder to myself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants