Opened 14 years ago

Last modified 14 years ago

#1276 closed task (wontfix)

Investigate speed string sharing in MetaModelica

Reported by: Adrian Pop Owned by: Adrian Pop
Priority: low Milestone: Red October
Component: Frontend Version:
Keywords: Cc: Adrian Pop, Adrian Pop

Description

See if enabling string sharing for the OpenModelica compiler will bring more speed.

Attachments (4)

traceEngineV6-no-string-sharing.txt (4.9 MB ) - added by Adrian Pop 14 years ago.
The execution traces.
traceEngineV6-string-sharing.txt (4.9 MB ) - added by Adrian Pop 14 years ago.
The execution traces.
log-gprof-no-string-sharing.txt (1.3 MB ) - added by Adrian Pop 14 years ago.
The gprof logs for the execution.
log-gprof-sting-sharing.txt (1.2 MB ) - added by Adrian Pop 14 years ago.
The gprof logs for the execution.

Change History (5)

comment:1 by Adrian Pop, 14 years ago

Implemented command line parameter for enabling/disabling string sharing when running omc.

-string-sharing
-no-string-sharing

This is part of the new upcoming MetaModelica (OMDev).

comment:2 by Adrian Pop, 14 years ago

Notice that the execution was run with omcp.exe which enables the gcc profiling (see attached).

The execution of EngineV6.mos with string-sharing:

adrpo@kafka ~/dev/OpenModelica/testsuite/libraries/multibody/loops
$ time ../../../../build/bin/omc -log -string-sharing EngineV6.mos > traceEngineV6-string-sharing.txt 2>&1

[HEAP:	10628 minor collections, 24 major collections, 24870368 words currently in use]
[HEAP:	1048576 words allocated to young, 30482731 words allocated to current, 24/0 heap expansions/shrinkings performed]
[HEAP: 	1358942 words allocated into managed C heap (from mk_* functions), collected 6 times, remaining uncollected 7 words]
[HEAP: 	14245 strings totaling 52659 words where shared]
[HEAP:	5.04 seconds waisted while doing GC]
[STACK:	0 words currently in use (498578 words max, 4194304 words total)]
[ARRAY:	0 words currently in use in the array trail]
[TRAIL:	0 words currently in use]
[MOTOR:	2741046767 tailcalls performed]

201.1 MB memory used.

real    58m5.478s
user    0m0.015s
sys     0m0.045s

The execution of EngineV6.mos without string-sharing:

adrpo@kafka ~/dev/OpenModelica/testsuite/libraries/multibody/loops
$ time ../../../../build/bin/omc -log -no-string-sharing EngineV6.mos > traceEngineV6-no-string-sharing.txt 2>&1

[HEAP:  1048576 words allocated to young, 30482731 words allocated to current, 24/0 heap expansions/shrinkings performed]
[HEAP:  1411601 words allocated into managed C heap (from mk_* functions), collected 6 times, remaining uncollected 7 words]
[HEAP:  0 strings totaling 0 words where shared]
[HEAP:  5.07 seconds waisted while doing GC]
[STACK: 0 words currently in use (498578 words max, 4194304 words total)]
[ARRAY: 0 words currently in use in the array trail]
[TRAIL: 0 words currently in use]
[MOTOR: 2741046767 tailcalls performed]

201.1 MB memory used.

real    57m8.854s
user    0m0.000s
sys     0m0.061s

by Adrian Pop, 14 years ago

The execution traces.

by Adrian Pop, 14 years ago

The execution traces.

by Adrian Pop, 14 years ago

Attachment: log-gprof-sting-sharing.txt added

The gprof logs for the execution.

Note: See TracTickets for help on using tickets.