The responsive state engine Helux's playground has been released. Welcome to experience it, real time editing of code and viewing of runtime effects helps to quickly learn the basic usage methods of APIs.
Strongly recommend trying [limu](https://github.com/tnfe/limu),it is now the fastest immutable data js lib,and it is also production environment available.
//You can verify through the following tests, and you are also welcome to add more performance test cases
```bash
git checkout https://github.com/tnfe/limu.git
cd benchmark
npm i
## Then execute the following commands separately
npm run s1
npm run s2
npm run s3
npm run s4
```
The results of one set of performance tests

At the same time, the number of single test cases has increased to 500+, with a coverage rate of '95+' (the results can be viewed by executing NPM run tests in the root directory)

[Helux](https://github.com/tnfe/hel/tree/main/packages/helux) is a brand new data flow solution that encourages service injection and supports responsive change React. Its predecessor was [concent](https ://github.com/concentjs/concent) (a high-performance state management framework similar to Vue development experience), but Concent itself needs to be compatible with class and function syntax to maintain consistency, and in order to set up its function, the internal code volume is too large, with over 70 kb compressed and the API exposed, resulting in a sharp increase in learning difficulty, In order to better conform to the coding trend of the current popular DDD to build a domain model around business concepts, helux was initially designed as a lightweight react data flow solution that encourages service injection, supports responsive changes, and supports dependency collection.
It is highly recommended to try hel micro(https://github.com/tnfe/hel) in turbo,cause hel-micro is a runtime module federation SDK which is unrelated to tool chain, so any tool system can access module federation technology in seconds .
You can try hel-micro(https://github.com/tnfe/hel) A runtime module federation SDK which is unrelated to tool chain,It means that any tool system can access module federation technology in seconds , Users do not need to be bound to the webpack system。
See more perf test result
1. git clone git@github.com:tnfe/limu.git
2. cd benchmark
3. npm i
4. node ./limu-vs-immer.js
You can change the params in limu-vs-immer.js file to test perf of different situations
const hasArr = false; // operate arr or not
const lessDeepOp = true; // has more deep operation or not
The perf result at macbook 2021 max pro is:
-----------------------[ hasArr true, lessOp true ]-------------------
(reuseBase: true, autoFreeze: true) immer 2.797 ms : limu 1.287 ms
(reuseBase: false, autoFreeze: true) immer 2.835 ms : limu 1.313 ms
(reuseBase: true, autoFreeze: false) immer 2.049 ms : limu 0.089 ms
(reuseBase: false, autoFreeze: false) immer 2.096 ms : limu 0.146 ms
-----------------------[ hasArr true, lessOp false ]------------------
(reuseBase: true, autoFreeze: true) immer 2.946 ms : limu 1.268 ms
(reuseBase: false, autoFreeze: true) immer 3.005 ms : limu 1.345 ms
(reuseBase: true, autoFreeze: false) immer 2.162 ms : limu 0.147 ms
(reuseBase: false, autoFreeze: false) immer 2.169 ms : limu 0.161 ms
-----------------------[ hasArr false, lessOp true ]------------------
(reuseBase: true, autoFreeze: true) immer 2.253 ms : limu 0.659 ms
(reuseBase: false, autoFreeze: true) immer 2.261 ms : limu 0.705 ms
(reuseBase: true, autoFreeze: false) immer 1.472 ms : limu 0.058 ms
(reuseBase: false, autoFreeze: false) immer 1.504 ms : limu 0.064 ms
-----------------------[ hasArr false, lessOp true ]------------------
(reuseBase: true, autoFreeze: true) immer 2.086 ms : limu 0.604 ms
(reuseBase: false, autoFreeze: true) immer 2.201 ms : limu 0.643 ms
(reuseBase: true, autoFreeze: false) immer 1.383 ms : limu 0.022 ms
(reuseBase: false, autoFreeze: false) immer 1.42 ms : limu 0.021 ms