Performance comparision with systemc


I just wrote my model in python-myhdl. Each iteration takes approximately 34 seconds with python-2.7 (Ubuntu-16.04), and 24 seconds with pypy. Thanks to myhdl, it didn’t take much time to write the model.

I am planning to run my model for much longer time. I looked at the performance page of myhdl: it seems to me that with verilog or VHDL, I won’t be able to get very much speedup. I am reluctant to convert it to VHDL/Verilog because of time I need to spend given my proficiency in these languages. However, I am comfortable with SystemC + boost. My aim is just to run the simulation.

I was wondering if someone has benchmarked myhdl with systemc? Would systemc be “on average” faster than myhdl (with pypy)?.

I have not done any performance comparisons with python, pypy, and systemc. My guess would be systemc has faster execution time but you would pay for it with development time. You will notice larger gains with pypy with longer runs, pypy has a fairly large “warm-up” penalty.

Here are some old numbers I got with pypy sim, when not “tracing” I had a 40x speedup. You might see considerable gains with pypy but you might not see them on short runs.

Ridiculous, updated numbers, #myhdl Hilbert transformer sim#pypy 40x faster, 5x with tracing, #python

— Christopher Felton (@FeltonChris) August 20, 2014

1 Like