mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-11 20:08:37 +00:00
### Benchmark `yarn workspace @affine/server-native bench` ``` ┌─────────┬────────────┬─────────┬────────────────────┬──────────┬─────────┐ │ (index) │ Task Name │ ops/sec │ Average Time (ns) │ Margin │ Samples │ ├─────────┼────────────┼─────────┼────────────────────┼──────────┼─────────┤ │ 0 │ 'tiktoken' │ '5' │ 176932518.76000002 │ '±4.71%' │ 100 │ │ 1 │ 'native' │ '16' │ 61041597.51000003 │ '±0.60%' │ 100 │ └─────────┴────────────┴─────────┴────────────────────┴──────────┴─────────┘ ```
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import { createRequire } from 'node:module';
|
|
|
|
let serverNativeModule: typeof import('@affine/server-native');
|
|
try {
|
|
serverNativeModule = await import('@affine/server-native');
|
|
} catch {
|
|
const require = createRequire(import.meta.url);
|
|
serverNativeModule =
|
|
process.arch === 'arm64'
|
|
? require('../server-native.arm64.node')
|
|
: process.arch === 'arm'
|
|
? require('../server-native.armv7.node')
|
|
: require('../server-native.node');
|
|
}
|
|
|
|
export const mergeUpdatesInApplyWay = serverNativeModule.mergeUpdatesInApplyWay;
|
|
|
|
export const verifyChallengeResponse = async (
|
|
response: any,
|
|
bits: number,
|
|
resource: string
|
|
) => {
|
|
if (typeof response !== 'string' || !response || !resource) return false;
|
|
return serverNativeModule.verifyChallengeResponse(response, bits, resource);
|
|
};
|
|
|
|
export const mintChallengeResponse = async (resource: string, bits: number) => {
|
|
if (!resource) return null;
|
|
return serverNativeModule.mintChallengeResponse(resource, bits);
|
|
};
|
|
|
|
export const getMime = serverNativeModule.getMime;
|
|
export const Tokenizer = serverNativeModule.Tokenizer;
|
|
export const fromModelName = serverNativeModule.fromModelName;
|