DevCycle Bucketing - 集会脚本 Lib
此软件包包含 DevCycle 产品用来评价用户信息的共享逻辑 对照一组分块过滤器,确定特定特性的资格。 它还就 用于服务用户的多变量特性.
本大会脚本版本 Bucketing 库的设计方式是跨平台使用 构建一个可以在各种 JavaScript Web / NodeJS 环境和其他环境中执行的 WebAssembly 输出 服务器侧 SDK 环境 。 Web Assembly 是一个二进制格式,可以在 Web浏览器,NodeJS,或任何其他支持它的环境.
详见大会文稿文件: https://www.assemblyscript.org/introduction.html (中文(简体) )
使用量
建设网络大会
yarn nx build shared-bucketing-as
见 WebAssembly 输出于 /build 文件夹.
编译Protobuf文件
在研究Protobuf类型时,你需要将这些类型汇编成JS和AssemblyCript文件。 要做到这一点:
yarn nx run shared-bucketing-as:compile-pb
测试
yarn nx test shared-bucketing-as
基准制定
yarn nx run shared-bucketing-as:benchmark
目前关于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