1.27.1 • Published 8 months ago

@devcycle/bucketing-assembly-script v1.27.1

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

DevCycle Bucketing - Assembly Script Lib

This package contains the shared logic used by DevCycle products to evaluate a user's information against a set of segmentation filters and determine eligibility for a given feature. It also makes decisions about which variation to serve a user in a multi-variate feature.

This Assembly Script version of the Bucketing library is designed to be used in a cross-platform manner as it builds a WebAssembly output that can be executed in various JavaScript Web / NodeJS environments and other server-side SDK environments. WebAssembly is a binary format that can be executed in a Web browser, NodeJS, or any other environment that supports it.

See the AssemblyScript Documentation for further details: https://www.assemblyscript.org/introduction.html

Usage

Building WebAssembly

yarn nx build shared-bucketing-as

See WebAssembly output in /build folder.

Compile Protobuf Files

When working on the Protobuf types you will need to compile those types into JS and AssemblyScript files. To do this:

yarn nx run shared-bucketing-as:compile-pb

Testing

yarn nx test shared-bucketing-as

Benchmarking

yarn nx run shared-bucketing-as:benchmark

Current benchmark results on M1 Pro Macbook Pro:

Benchmarks:
  variableForUser
    variableForUser                   0.043 ms ±  0.84 %  (81 runs sampled)
    variableForUser_PB                0.020 ms ±  2.56 %  (93 runs sampled)
    variableForUser - large user      0.106 ms ±  0.21 %  (90 runs sampled)
    variableForUser_PB - large user   0.045 ms ±  1.07 %  (95 runs sampled)
    variableForUser - defaulted       0.011 ms ±  0.36 %  (98 runs sampled)
    variableForUser_PB - defaulted    0.008 ms ±  0.65 %  (95 runs sampled)
    variableForUser - unknown key     0.010 ms ±  0.45 %  (95 runs sampled)
    variableForUser_PB - unknown key  0.008 ms ±  1.92 %  (94 runs sampled)
  variableForUser - Large Config
    variableForUser     0.037 ms ±  0.79 %  (79 runs sampled)
    variableForUser_PB  0.017 ms ±  0.48 %  (91 runs sampled)
  generateBucketedConfigForUser
    generateBucketedConfigForUser               0.643 ms ±  0.73 %  (70 runs sampled)
    generateBucketedConfigForUser - large user  0.323 ms ±  0.18 %  (99 runs sampled)
  generateBucketedConfigForUser - Large Config
    generateBucketedConfigForUser               7.37 ms ±  0.79 %  (61 runs sampled)
    generateBucketedConfigForUser - large user  7.36 ms ±  0.36 %  (88 runs sampled)
  initEventQueue
    initEventQueue  0.009 ms ±  40.90 %  (46 runs sampled)
  setPlatformData
    setPlatformData  0.020 ms ±  0.79 %  (82 runs sampled)
  setConfigData
    setConfigData - small   2.15 ms ±  21.54 %  (61 runs sampled)
    setConfigData - large  25.16 ms ±  38.69 %  (42 runs sampled)
  setClientCustomData
    setClientCustomData - small  0.019 ms ±  0.96 %  (87 runs sampled)
Test Suites: 1 passed, 1 total
Tests:       19 passed, 19 total
Snapshots:   0 total
Time:        114.611 s, estimated 115 s
1.27.1

8 months ago

1.27.0

8 months ago

1.26.3

9 months ago

1.26.2

9 months ago

1.26.1

10 months ago

1.25.0

11 months ago

1.25.1

10 months ago

1.25.2

10 months ago

1.25.3

10 months ago

1.26.0

10 months ago

1.22.1

1 year ago

1.23.0

1 year ago

1.23.1

12 months ago

1.24.1

11 months ago

1.24.2

11 months ago

1.24.0

12 months ago

1.22.0

1 year ago

1.21.0

1 year ago

1.20.2

1 year ago

1.20.1

1 year ago

1.20.0

1 year ago

1.19.0

1 year ago

1.19.1

1 year ago

1.18.1

1 year ago

1.18.0

1 year ago

1.17.5

1 year ago

1.17.2

1 year ago

1.17.4

1 year ago

1.17.3

1 year ago

1.17.1

1 year ago

1.17.0

1 year ago

1.16.2

1 year ago

1.16.1

1 year ago

1.16.0

1 year ago

1.15.0

1 year ago

1.15.1

1 year ago

1.14.0

1 year ago

1.13.0

1 year ago

1.12.0

1 year ago

1.11.7

1 year ago

1.11.6

1 year ago

1.11.5

1 year ago

1.11.4

1 year ago

1.11.3

1 year ago

1.11.2

2 years ago

1.11.1

2 years ago

1.8.2

2 years ago

1.8.1

2 years ago

1.8.0

2 years ago

1.7.7

2 years ago

1.7.6

2 years ago

1.7.5

2 years ago

1.7.4

2 years ago

1.11.0

2 years ago

1.7.3

2 years ago

1.9.0

2 years ago

1.7.2

2 years ago

1.8.4

2 years ago

1.8.3

2 years ago

1.10.1

2 years ago

1.10.0

2 years ago

1.7.1

2 years ago

1.6.10

2 years ago

1.7.0

2 years ago

1.6.9

2 years ago

1.6.8

2 years ago

1.6.7

2 years ago

1.6.6

2 years ago

1.6.5

2 years ago

1.6.4

2 years ago

1.6.3

2 years ago

1.6.2

2 years ago

1.6.1

2 years ago

1.6.0

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.3

2 years ago

1.5.0

2 years ago

1.2.0

2 years ago

1.1.29

2 years ago

1.1.28

2 years ago

1.1.30

2 years ago

1.1.33

2 years ago

1.1.32

2 years ago

1.1.31

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.1.27

2 years ago

1.1.26

2 years ago

1.1.19

3 years ago

1.1.23

2 years ago

1.1.22

3 years ago

1.1.21

3 years ago

1.1.20

3 years ago

1.1.25

2 years ago

1.1.24

2 years ago

1.1.9

3 years ago

1.1.8

3 years ago

1.1.12

3 years ago

1.1.11

3 years ago

1.1.10

3 years ago

1.1.16

3 years ago

1.1.15

3 years ago

1.1.14

3 years ago

1.1.13

3 years ago

1.1.18

3 years ago

1.1.17

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.1.7

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.2

3 years ago

1.0.31

3 years ago

1.0.30

3 years ago

1.0.28

3 years ago

1.0.27

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.26

3 years ago

1.0.25

3 years ago

1.0.24

3 years ago

1.0.23

3 years ago

1.0.19

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.12

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago