Skip to content

Conversation

@VincentVanlaer
Copy link
Member

Importing any of the ieee modules has a somewhat unexpected effect. Each procedure that has an ieee module in scope will (1) save the FPU state at the start and (2) restore it at the end, adding any flags that were raised by the procedure. Since the use ieee_arithmetic is included in the main math module directly, everything that imports math will be effectively be importing an ieee module. This has a large impact on performance (for example, the low_z test case runs in 2/3 the time with this patch).

Importing any of the ieee modules has a somewhat unexpected effect. Each
procedure that has an ieee module in scope will (1) save the FPU state
at the start and (2) restore it at the end, adding any flags that were
raised by the procedure. Since the `use ieee_arithmetic` is included in
the main math module directly, everything that imports math will be
effectively be importing an ieee module. This has a large impact on
performance (for example, the `low_z` test case runs in 2/3 the time
with this patch).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants