Proof of concept bindings for fetch_delete_key and a regression test. #658
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@lizmat - IIRC you said that a big annoyance with hashes was that to implement the Raku semantics on the API exposed by NQP, the code has to
and quite often the value isn't even needed, but the implementation doesn't know that at the point that it's fetching it.
So, here's a proof of concept NQP op that can fetch and delete in one. I can do this bit easily. I can't do the "adapt Rakudo to use it".
Could you test using this in Rakudo to see how much it improves the relevant performance?
I didn't really want to bother @jnthn (or even $jnthn) with the "other" issues unless we know that it's something worth doing.
As best I can tell, other issues are
atkey_o
(so I don't know if I failed to spot something)deletekey
has a serialisation barrier, so I added that, but I don't know what I missedatkey_o
and might not even work. I think that I'm testing it, but I'm not certain.Apart from all that, the test passes, and I know that it hits the relevant code - you'll need MoarVM/fetch-and-delete which is a branch off AAAA-A-better-hash. (I'll rebase it onto master once we merge tomorrow-ish)