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

Compilation Options with performance in mind #28

Open
coderedart opened this issue Apr 4, 2022 · 1 comment
Open

Compilation Options with performance in mind #28

coderedart opened this issue Apr 4, 2022 · 1 comment
Labels
enhancement New feature or request needs information We need more info to deal with this issue
Milestone

Comments

@coderedart
Copy link
Owner

I thought this should be documented somewhere.

rust by default uses the guaranteed instruction sets like sse1 and sse2. but most cpus support better features.

The options you give to a compiler are called target_features and we can get the default settings (features) for a configuration by using

rustc -C target-cpu=native --target=x86_64-pc-windows-gnu --print cfg.

ofcourse, the rustc --print cfg is the important part, but the other two options also help a lot in knowing what cpus support which features and what targets support which features by changing them up. target-cpu can be any cpu family name like skylake for intel 6th gen.

to get a list of ALL features available we use rustc --print target-features.

once we are done with the refactoring of the jokolay for alpha 0.2, we can start doing some benchmarks using latest features. if the benchmarks improve performance by a decent margin, we can release jokolay as multiple binaries with and without features enabled during compilation.

@coderedart
Copy link
Owner Author

changed due date to April 17, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs information We need more info to deal with this issue
Projects
None yet
Development

No branches or pull requests

1 participant