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: useControllableState to version 4 #578

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

Conversation

productdevbook
Copy link
Member

@productdevbook productdevbook commented Dec 1, 2024

"summary": [
"V4 is 33.89% faster than V3",
"V4 is 138.22% faster than VueUse"
]

Details

{
  "timestamp": "2024-12-01T12:02:37.994Z",
  "results": [
    {
      "version": "useControllableStateV3",
      "updateCount": 5,
      "executionTimeMs": 0.10345800000504823,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.988Z"
    },
    {
      "version": "useControllableStateV4",
      "updateCount": 5,
      "executionTimeMs": 0.048499999997147825,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.989Z"
    },
    {
      "version": "useVModel_VueUse",
      "updateCount": 5,
      "executionTimeMs": 0.17124999999941792,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.989Z"
    },
    {
      "version": "useControllableStateV3",
      "updateCount": 5,
      "executionTimeMs": 0.03495800000382587,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.989Z"
    },
    {
      "version": "useControllableStateV4",
      "updateCount": 5,
      "executionTimeMs": 0.023334000004979316,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.990Z"
    },
    {
      "version": "useVModel_VueUse",
      "updateCount": 5,
      "executionTimeMs": 0.05450000000564614,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.990Z"
    },
    {
      "version": "useControllableStateV3",
      "updateCount": 5,
      "executionTimeMs": 0.0244170000005397,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.990Z"
    },
    {
      "version": "useControllableStateV4",
      "updateCount": 5,
      "executionTimeMs": 0.019874999998137355,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.990Z"
    },
    {
      "version": "useVModel_VueUse",
      "updateCount": 5,
      "executionTimeMs": 0.04875000000174623,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.990Z"
    },
    {
      "version": "useControllableStateV3",
      "updateCount": 5,
      "executionTimeMs": 0.02275000000372529,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.990Z"
    },
    {
      "version": "useControllableStateV4",
      "updateCount": 5,
      "executionTimeMs": 0.019500000002153683,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.990Z"
    },
    {
      "version": "useVModel_VueUse",
      "updateCount": 5,
      "executionTimeMs": 0.10737499999959255,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.991Z"
    },
    {
      "version": "useControllableStateV3",
      "updateCount": 5,
      "executionTimeMs": 0.021416000003227964,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.991Z"
    },
    {
      "version": "useControllableStateV4",
      "updateCount": 5,
      "executionTimeMs": 0.019249999997555278,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.991Z"
    },
    {
      "version": "useVModel_VueUse",
      "updateCount": 5,
      "executionTimeMs": 0.05275000000256114,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.991Z"
    },
    {
      "version": "useControllableStateV3",
      "updateCount": 5,
      "executionTimeMs": 0.07200000000011642,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.991Z"
    },
    {
      "version": "useControllableStateV4",
      "updateCount": 5,
      "executionTimeMs": 0.03250000000116415,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.991Z"
    },
    {
      "version": "useVModel_VueUse",
      "updateCount": 5,
      "executionTimeMs": 0.059624999994412065,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.991Z"
    },
    {
      "version": "useControllableStateV3",
      "updateCount": 5,
      "executionTimeMs": 0.03420899999764515,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.992Z"
    },
    {
      "version": "useControllableStateV4",
      "updateCount": 5,
      "executionTimeMs": 0.021708000000216998,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.992Z"
    },
    {
      "version": "useVModel_VueUse",
      "updateCount": 5,
      "executionTimeMs": 0.04104199999710545,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.992Z"
    },
    {
      "version": "useControllableStateV3",
      "updateCount": 5,
      "executionTimeMs": 0.026832999996258877,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.992Z"
    },
    {
      "version": "useControllableStateV4",
      "updateCount": 5,
      "executionTimeMs": 0.019541000001481734,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.992Z"
    },
    {
      "version": "useVModel_VueUse",
      "updateCount": 5,
      "executionTimeMs": 0.036832999998296145,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.993Z"
    },
    {
      "version": "useControllableStateV3",
      "updateCount": 5,
      "executionTimeMs": 0.021790999999211635,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.993Z"
    },
    {
      "version": "useControllableStateV4",
      "updateCount": 5,
      "executionTimeMs": 0.018958000000566244,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.993Z"
    },
    {
      "version": "useVModel_VueUse",
      "updateCount": 5,
      "executionTimeMs": 0.035292000000481494,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.993Z"
    },
    {
      "version": "useControllableStateV3",
      "updateCount": 5,
      "executionTimeMs": 0.019791999999142718,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.993Z"
    },
    {
      "version": "useControllableStateV4",
      "updateCount": 5,
      "executionTimeMs": 0.01804199999605771,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.994Z"
    },
    {
      "version": "useVModel_VueUse",
      "updateCount": 5,
      "executionTimeMs": 0.035124999994877726,
      "onChangeCallCount": 25,
      "timestamp": "2024-12-01T12:02:37.994Z"
    }
  ],
  "comparison": {
    "v3Average": {
      "executionTimeMs": 0.02749300000020109,
      "onChangeCallCount": 25
    },
    "v4Average": {
      "executionTimeMs": 0.020534666667420726,
      "onChangeCallCount": 25
    },
    "vueUseAverage": {
      "executionTimeMs": 0.04891666666662786,
      "onChangeCallCount": 25
    },
    "performance": [
      "V4 is 33.89% faster than V3",
      "V4 is 138.22% faster than VueUse"
    ]
  },
  "summary": [
    "V4 is 33.89% faster than V3",
    "V4 is 138.22% faster than VueUse"
  ]
}

…eV6handling in useControl

fix: reactive

refactor: enhance performance tracking and update handling in useControllableStateV6

refactor: optimize performance tracking and value handling in useControllableStateV6

refactor: optimize cloning and equality checks in useControllableStateV6

refactor: improve performance tracking and equality checks in useControllableStateV6

refactor: update performance results and enhance type handling in useControllableStateV6

refactor: update performance results and optimize state handling in useControllableStateV6
Copy link
Contributor

github-actions bot commented Dec 1, 2024

Thank you for following the naming conventions! 🙏

@productdevbook productdevbook changed the title feat: useControllableState to version 6 feat: useControllableState to version 4 Dec 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant