Skip to content

feat: mmkv - #328

Open
triniwiz wants to merge 6 commits into
mainfrom
feat/mmkv
Open

feat: mmkv#328
triniwiz wants to merge 6 commits into
mainfrom
feat/mmkv

Conversation

@triniwiz

Copy link
Copy Markdown
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 NamePackagetime
ConstructorRegular0.515ms
ConstructorMetal0.056ms
containsRegular0.071ms
containsMetal0.006ms
setRegular1.879ms
setMetal0.765ms
getStringRegular0.148ms
getStringMetal0.009ms

Metal Version

Pros ✅Cons ❌
Faster 🏎️ 💨Will need to dive into to c++ 🤷🏽
Less Gc CallsHas 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.
@triniwiz

Copy link
Copy Markdown
MemberAuthor

I also included a nice localStorage shim around both plugins

@timdoege

Copy link
Copy Markdown

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

@dyazincahya

Copy link
Copy Markdown

This plugin is finished? 😕

Sign up for freeto 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.

4 participants

@triniwiz@timdoege@dyazincahya@NathanWalker