Skip to content

Performance Considerations #74

Open
@John-Lluch

Description

@John-Lluch

Hi, there's little doubt that raw simulation performance of your fork is much better than any other fork. Still, I noticed that performance degrades sharply and significantly after I reached a certain circuit complexity. Execution becomes jerky with long and inconsistent execution stalls between clock ticks.

The rather inconsistent flow of the execution, which sometimes takes very long to complete one particular step, and sometimes the same step is completed very fast, as well as the fact that this performance degradation begins to happen sharply after some project complexity, makes me think that this is related to memory constraints or to the excessive operation of the Java garbage collector.

On the other hand, I am running Logisim in a Mac with plenty of physical RAM, 12 Gb, and Logisim rarely uses more than 2 Gb with still plenty of free RAM available while Logisim is running. So physical memory constraints do not seem to be the case... which leaves me with the idea that there's something related with the Java virtual machine that causes this, or maybe some artificial limit put in the Logisim code (?)

What could degrade performance in such a sharp way?, does the above makes any sense? If so, is there a way to improve on that?

Thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions