JulianKemmerer / PipelineC

A C-like hardware description language (HDL) adding high level synthesis(HLS)-like automatic pipelining as a language construct/compiler feature.
https://github.com/JulianKemmerer/PipelineC/wiki
GNU General Public License v3.0
587 stars 47 forks source link

Premature optimization #109

Open ghost opened 2 years ago

ghost commented 2 years ago

Right now we have areas of code that are intended to be performant, but we don't have benchmarks/profiling in place to know where our hot spots are/whether something is a regression or performance increase.

I suggest for now we allow performance regression and strive for more idiomatic code over performant code. The mypy effort should alleviate performance issues in the long term (mypyc allows 4x speed ups over normal python) and once the code is cleaner in general we can resume optimization with more focus.

Thoughts?

JulianKemmerer commented 2 years ago

I would say leave code as is if it seems done for performance. It should be one of the last things to change.

Focus your changes on easy code that doesn't look highly optimized + new features

JulianKemmerer commented 2 years ago

Also having examples to point to would be good