Skip to content
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

feat: mmkv #328

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

feat: mmkv #328

wants to merge 6 commits into from

Conversation

triniwiz
Copy link
Member

Two versions of mmkv

MMKV is an efficient, small, easy-to-use mobile key-value storage framework used in the WeChat application

  1. mmkv uses gradle & cocoapods for the dependencies
  2. mmkv uses the cocoapods dependency for ios but on android an undocumented runtime feature which can be found here .

For mmkv-metal to work we will need this pr

The following are some sample call times for both versions

Action/Method Name Package time
Constructor Regular 0.515ms
Constructor Metal 0.056ms
contains Regular 0.071ms
contains Metal 0.006ms
set Regular 1.879ms
set Metal 0.765ms
getString Regular 0.148ms
getString Metal 0.009ms

Metal Version

Pros ✅ Cons ❌
Faster 🏎️ 💨 Will need to dive into to c++ 🤷🏽
Less Gc Calls Has to be built against runtime compatible v8 version ... so if the runtime upgrade you need to rebuild 🕺🏽
Increased lib size 😢 (could link against the rt vs libv8 💭 )

An efficient, small, easy-to-use mobile key-value storage framework.
@cla-bot cla-bot bot added the cla: yes label Sep 12, 2022
@triniwiz
Copy link
Member Author

I also included a nice localStorage shim around both plugins

@timdoege
Copy link

Any chance this can be merged ... without a blog post? :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants