/** * @author Martin Karkowski * @email m.karkowski@zema.de * @create date 2018-05-22 01:13:13 * @modify date 2020-09-01 17:04:39 * @desc [description] */ import { hostname } from 'os'; import 'reflect-metadata'; import { generateBenchmarkFunction } from '../../funcs/generateBenchmarkFunction'; import { Builder } from '../../mod-Assembly-Builder/src/Container-Builder.FileLoader'; import { SystemLogger } from '../../mod-Logger/src/Unique.Logger'; import * as PUBSUB from '../assembly/manual-assembly'; import { addObservables } from '../src/Pub-Sub-Observable'; /** Clear the Screen */ declare const process: any; /** Add the Observer-ActivationHandler */ Builder.instance.addElements(PUBSUB.EXPORT) Builder.instance.addActivationHandler(addObservables); Builder.load(); Builder.on('loaded', () => { SystemLogger.logger.level = 'info' /** Create the Benchmark Module */ const _max = 10000000; /** Create A PubSubSystem */ const _pubSub = Builder.instance.container.get(PUBSUB.TYPES.PubSubSystem); _pubSub.rootName = hostname(); const _benchmark = generateBenchmarkFunction(_max, '') _pubSub.createSubscription('test', _benchmark); let counter = _max * 4; const _pub = _pubSub.createPublisher('test'); while (counter >= 0) { _pub.publishData(counter--); } counter = _max * 4; while (counter >= 0) { _pub.publishData(counter--); } setTimeout(() => { }, 10); });