Skip to content

avoid need for R_NilValue checks in protect code #285

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

Merged
merged 8 commits into from
May 17, 2023

Conversation

kevinushey
Copy link
Contributor

@kevinushey kevinushey commented Sep 17, 2022

This PR provides a minor optimization, that allows us to avoid the need to check the tail in the precious list for R_NilValue. This is done by ensuring that the "tail" of the precious list is itself initialized as a "cell", and so one can always safely access its CAR.

The only downside is that the "empty" precious list now has two cells rather than one, but it should be worth the bit of extra performance (+ the overall code clarity is IMHO improved).

@romainfrancois
Copy link
Collaborator

Thanks !

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