Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix a compiler front-end performance bug
This was causing the lowering pass to be run twice on method definitions, which takes, well, twice as long. This is really embarrassing, but I'm going to commit it anyway.
- Loading branch information
454344f
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 definitely deserves to be backported to v0.3! Thanks!
454344f
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.
Already has been.
454344f
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.
Nice!
454344f
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.
Jeff, our lab owes you a dinner! I'd say the amount of people that have been inspired by Julia significantly outweighs the amount that might have been bothered by this bug. I was reading the issue last night, and the quality of teamwork was outstanding. This is an amazing community and I appreciate all your guys work.
454344f
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.
Thanks! Working with everybody here is truly enjoyable. Without @timholy 's particular test case, I never noticed this problem. Loading his generated file of 1000 functions showed everything called 2000 times, which was the key to figuring this out.
454344f
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.
Glad to be of use, and of course it all would have been for naught without Jeff diving in.
454344f
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.
I'm curious, why does the parser perform "early" expansion at all?
454344f
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.
Oh, probably because it saves on flisp/julia round trips