-
Notifications
You must be signed in to change notification settings - Fork 482
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Effectfully/inline fix #6842
base: master
Are you sure you want to change the base?
Effectfully/inline fix #6842
Conversation
({cpu: 397650662016 | ||
| mem: 1503390947}) No newline at end of file | ||
({cpu: 409445366016 | ||
| mem: 1577107847}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+3% CPU, +5% MEM
395 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... but smaller size. And the best part is that the size even smaller than without inlining fix
at all, i.e. this is smaller than on master
.
Here's a three-way merge screenshot of CPU/MEM/size for "8 queens" (first @zliu41's branch, then master
, then this branch):
({cpu: 5476180 | ||
| mem: 28020}) No newline at end of file | ||
({cpu: 5428180 | ||
| mem: 27720}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A slight cost reduction.
({cpu: 304890223 | ||
| mem: 1188386}) No newline at end of file | ||
({cpu: 304602223 | ||
| mem: 1186586}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a slight reduction
({cpu: 88899135 | ||
| mem: 351394}) No newline at end of file | ||
({cpu: 88611135 | ||
| mem: 349594}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a slight reduction
({cpu: 174115055 | ||
| mem: 815970}) No newline at end of file | ||
({cpu: 174099055 | ||
| mem: 815870}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then a bunch of reductions.
({cpu: 243481580 | ||
| mem: 1195798}) No newline at end of file | ||
({cpu: 243561580 | ||
| mem: 1196298}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then increases again.
(\xxx -> 1) ((\s -> s s) (\s -> force trace "hello" (\z -> s s z))) No newline at end of file | ||
1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A semantics change.
({cpu: 5252180 | ||
| mem: 26620}) No newline at end of file | ||
({cpu: 5300180 | ||
| mem: 26920}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A slight increase.
(program | ||
1.1.0 | ||
((\s -> s s) | ||
(\s ds -> force (case ds [(delay 42), (\x xs -> delay (s s xs))])) | ||
((\x0 -> | ||
(\s -> s s) | ||
(\s ds -> force (case ds [(delay 42), (\x xs -> delay (s s xs))])) | ||
x0) | ||
((\s -> s s) | ||
(\s n -> | ||
force |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This I guess show the deficiency of the approach. It's nice that we can inline recursive functions better, but we still can't inline fully applied recursive functions.
This shows what happens if we add #6839 to #6841 (i.e. the base branch is
zliu41/inline--fix
, notmaster
). See the comments.