Report "duplicated mapping key" errors at start of block#327
Report "duplicated mapping key" errors at start of block#327puzrin merged 1 commit intonodeca:masterfrom
Conversation
|
I have some comments:
|
|
@puzrin I added tests! 😎 Can you elaborate on what you mean in your third point? |
JIT can deoptimize functions if they are not monomorphic. Here is good reading http://mrale.ph/. So, it worth to check, if you change did not slowed down anything. Run If you see that things become bad, try to add |
|
Hey @puzrin, thanks for clarifying. I ran the benchmark tests before and after my commits, here's the results: https://www.diffchecker.com/Y3Idvbal |
|
Looks similar. Difference can be caused by noise. Can i ask you do one more thing? Could you change other calls to PS. Please, squash your commits into one, i think this PR is valuable enougth and my fantasies about speed should not delay merge :) |
|
Yes! I'll change the calls to |
|
Here's the benchmarks where the number of arguments is constant across the library: |
|
Also, GitHub now has a way to squash pull requests when you merge on GitHub. Maybe that will help? Otherwise, let me know and I can rebase my branch 😎 |
Equal number of arguments is not enougth. Those should be of the same type in all calls, and As alternative, i'd suggest to pass |
|
You can just squash commits and i'll merge result as is. It's ok for me. I can test benchmarks myself to save your time. |
I tried to use github's squash somewhere and don't like garbaged comments it does. So, prefer manual rebase. Please, do it, if not difficult :) |
|
Done 🎉 |
|
Do you mind doing an |
|
LOL. Rebased commit message contains lines i wished to avoid :). I mean second one and below (github adds the same on squash). Could you remove those and leave only first one?
If that's not deadly critical, i'd like to take a pause for 2 days (not more). |
|
^ There's a one-line commit message 👍 |
|
Published. Thanks for PR! |
Resolves #243.
Here, we're storing the starting line and position of a block in
readBlockMapping, then handing that information tostoreMappingPairso it can update the state with that information if it encounters aduplicated keyerror related to that block.