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.
I opened this MR to fix #1712
I was initially going to remove doing a looseClone when doing a lookup at https://github.com/kazupon/vue-i18n/blob/v8.x/src/directive.js#L17, but I thought this could cause a regression if objects get reused and I thought we could reduce the cpu/memory footprint too when update is called. I decided to switch it to use a timestamp as this should still allow updating when "setLocaleMessage" or "mergeLocaleMessage" is called with no extra overhead.
From testing this MR, it is still slower than $t() by about half, but it is about ~20-30x faster compared to the performance tests in #1712.
I am open to feedback and improving it as it might not be the optimal solution,
I had to bump chromedriver as tests were failing due to version mismatch.