optimistex / ngx-select-ex

Angular based replacement for select boxes
https://optimistex.github.io/ngx-select-ex/
MIT License
109 stars 42 forks source link

feat: improve performance #119

Closed ert78gb closed 5 years ago

ert78gb commented 5 years ago

The performance of the control is good on i5 or i7 machine, but poor on lower devices. Example ARM. This version of the control is 3-6 times faster.

The rxjs solution is beautiful, but the map and filter functions run multiple times on the same collection. I minimalized the modifications, but the performance could be much better if more maps, filters, etc functions were merged.

Summary:

codecov-io commented 5 years ago

Codecov Report

Merging #119 into master will increase coverage by 0.26%. The diff coverage is 89.74%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #119      +/-   ##
==========================================
+ Coverage    90.7%   90.96%   +0.26%     
==========================================
  Files          15       15              
  Lines         484      498      +14     
  Branches       73       80       +7     
==========================================
+ Hits          439      453      +14     
- Misses         20       21       +1     
+ Partials       25       24       -1
Impacted Files Coverage Δ
src/app/lib/ngx-select/ngx-select.classes.ts 89.28% <100%> (ø) :arrow_up:
src/app/lib/ngx-select/ngx-select.component.ts 89.94% <89.47%> (+0.4%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 0c24833...35b920a. Read the comment docs.

optimistex commented 5 years ago

@ert78gb Merged into the development! Install it: npm i ngx-select-ex@dev