-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Add tutorial for executor design #4361
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
base: master
Are you sure you want to change the base?
Add tutorial for executor design #4361
Conversation
acbeb05
to
e264309
Compare
e264309
to
7d706ed
Compare
I have resolved all issues. PTAL once. |
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.
LGTM. If there are more issues, we can have another PR to resolve them.
(Also I would like to see this on RTD to read in a better environment than broken lines on GitHub issue)
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 just had an idea. To prevent us from spending time with grammatical issues and allow us to solely focus on the technical explanations, would you mind running this text through grammarly or some other similar service?
being able to reference any derived executor. Basic properties of all executors like | ||
copy constructors, overloaded equality operators. The CRTP mechanism had some restrictions in the sense that |
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.
Basic properties of all executors like copy constructors, overloaded equality operators.
Should this be part of the sentence before it?
to the base class using CRTP as it was felt to be unnecessary. Having inheritance also introduces runtime polymorphism | ||
as the derived executor would override some of the base executors' method, and the call to the overridden function is | ||
resolved at run time. This is opposed to one of the design consideration i.e., have everything compile-time and avoid | ||
any overhead. The base executor didn't add a lot besides allowing code sharing of a few common functionalities and |
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.
...and avoid runtime overhead.
You still pay the price in compilation time.
Something to watch in case you're feeling lazy at some point:
https://www.youtube.com/watch?v=rHIkrotSwcc
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.
Something to watch in case you're feeling lazy at some point:
Links to a 1 hour info-dense video by Chandler. I wonder how Sergio relaxes 😆
Marking this as stale due to 30 days of inactivity. Commenting or adding a new commit to the pull request will revert this. |
TODO:
Add references