@zylaris/compiler 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"lazy-compile.js","sourceRoot":"","sources":["../src/lazy-compile.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- interface CompileTask {
2
- id: string;
3
- source: string;
4
- filename: string;
5
- options: any;
6
- }
7
- interface CompileResult {
8
- id: string;
9
- code: string;
10
- map: string;
11
- error?: string;
12
- compileTime: number;
13
- }
14
- declare class WorkerPool {
15
- private workers;
16
- private queue;
17
- private maxWorkers;
18
- constructor(maxWorkers?: number);
19
- private getWorker;
20
- private isWorkerBusy;
21
- execute(task: CompileTask): Promise<CompileResult>;
22
- private processQueue;
23
- terminate(): Promise<number[]>;
24
- }
25
- declare class PersistentCache {
26
- private cacheDir;
27
- constructor(cacheDir?: string);
28
- private ensureCacheDir;
29
- private getCachePath;
30
- get(key: string): Promise<{
31
- code: string;
32
- map: string;
33
- } | null>;
34
- set(key: string, code: string, map: string): Promise<void>;
35
- clear(): Promise<void>;
36
- }
37
- export declare class ParallelJITCompiler {
38
- private workerPool;
39
- private persistentCache;
40
- private memoryCache;
41
- private cacheTimeout;
42
- constructor();
43
- compile(source: string, filename: string, options?: any): Promise<{
44
- code: string;
45
- map: string;
46
- fromCache: boolean;
47
- compileTime: number;
48
- }>;
49
- private generateCacheKey;
50
- invalidate(filename: string): Promise<void>;
51
- clearMemoryCache(): void;
52
- clearAllCache(): Promise<void>;
53
- getStats(): {
54
- memoryCacheSize: number;
55
- maxWorkers: number;
56
- };
57
- terminate(): Promise<void>;
58
- }
59
- export declare function getParallelCompiler(): ParallelJITCompiler;
60
- export { WorkerPool, PersistentCache };
61
- //# sourceMappingURL=parallel-jit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parallel-jit.d.ts","sourceRoot":"","sources":["../src/parallel-jit.ts"],"names":[],"mappings":"AAaA,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;CACd;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,cAAM,UAAU;IACd,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAAqG;IAClH,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,SAAiC;YAIzC,SAAS;IAuBvB,OAAO,CAAC,YAAY;IAKd,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBxD,OAAO,CAAC,YAAY;IASpB,SAAS;CAGV;AAGD,cAAM,eAAe;IACnB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,SAAmB;YAKzB,cAAc;IAI5B,OAAO,CAAC,YAAY;IAId,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAmB/D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B;AAGD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,WAAW,CAAuE;IAC1F,OAAO,CAAC,YAAY,CAAiB;;IAO/B,OAAO,CACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,GAAQ,GAChB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IA8DlF,OAAO,CAAC,gBAAgB;IAKlB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASjD,gBAAgB,IAAI,IAAI;IAIlB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC,QAAQ;;;;IAOF,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC;AAKD,wBAAgB,mBAAmB,IAAI,mBAAmB,CAKzD;AAGD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC"}
@@ -1,223 +0,0 @@
1
- // Parallel JIT Compiler with Worker Threads
2
- // For maximum performance during development
3
- import { Worker } from 'worker_threads';
4
- import { cpus } from 'os';
5
- import { createHash } from 'crypto';
6
- import fs from 'fs/promises';
7
- import path from 'path';
8
- import { fileURLToPath } from 'url';
9
- const __filename = fileURLToPath(import.meta.url);
10
- const __dirname = path.dirname(__filename);
11
- // Worker pool management
12
- class WorkerPool {
13
- workers = [];
14
- queue = [];
15
- maxWorkers;
16
- constructor(maxWorkers = Math.max(1, cpus().length - 1)) {
17
- this.maxWorkers = maxWorkers;
18
- }
19
- async getWorker() {
20
- // Return existing idle worker or create new one
21
- const idleWorker = this.workers.find(w => !this.isWorkerBusy(w));
22
- if (idleWorker)
23
- return idleWorker;
24
- if (this.workers.length < this.maxWorkers) {
25
- const worker = new Worker(path.join(__dirname, 'compile-worker.js'));
26
- this.workers.push(worker);
27
- return worker;
28
- }
29
- // Wait for a worker to become available
30
- return new Promise((resolve) => {
31
- const checkInterval = setInterval(() => {
32
- const idle = this.workers.find(w => !this.isWorkerBusy(w));
33
- if (idle) {
34
- clearInterval(checkInterval);
35
- resolve(idle);
36
- }
37
- }, 10);
38
- });
39
- }
40
- isWorkerBusy(worker) {
41
- // Check if worker has pending message handlers
42
- return worker._isBusy === true;
43
- }
44
- async execute(task) {
45
- const worker = await this.getWorker();
46
- worker._isBusy = true;
47
- return new Promise((resolve, reject) => {
48
- const messageHandler = (result) => {
49
- if (result.id === task.id) {
50
- worker.off('message', messageHandler);
51
- worker._isBusy = false;
52
- if (result.error) {
53
- reject(new Error(result.error));
54
- }
55
- else {
56
- resolve(result);
57
- }
58
- this.processQueue();
59
- }
60
- };
61
- worker.on('message', messageHandler);
62
- worker.postMessage(task);
63
- });
64
- }
65
- processQueue() {
66
- if (this.queue.length === 0)
67
- return;
68
- const next = this.queue.shift();
69
- if (next) {
70
- this.execute(next.task).then(next.resolve).catch(next.reject);
71
- }
72
- }
73
- terminate() {
74
- return Promise.all(this.workers.map(w => w.terminate()));
75
- }
76
- }
77
- // Persistent disk cache
78
- class PersistentCache {
79
- cacheDir;
80
- constructor(cacheDir = '.zylaris/cache') {
81
- this.cacheDir = cacheDir;
82
- this.ensureCacheDir();
83
- }
84
- async ensureCacheDir() {
85
- await fs.mkdir(this.cacheDir, { recursive: true });
86
- }
87
- getCachePath(key) {
88
- return path.join(this.cacheDir, `${key}.json`);
89
- }
90
- async get(key) {
91
- try {
92
- const cachePath = this.getCachePath(key);
93
- const data = await fs.readFile(cachePath, 'utf-8');
94
- const parsed = JSON.parse(data);
95
- // Check if cache is still valid (24 hours)
96
- const age = Date.now() - parsed.timestamp;
97
- if (age > 24 * 60 * 60 * 1000) {
98
- await fs.unlink(cachePath);
99
- return null;
100
- }
101
- return { code: parsed.code, map: parsed.map };
102
- }
103
- catch {
104
- return null;
105
- }
106
- }
107
- async set(key, code, map) {
108
- const cachePath = this.getCachePath(key);
109
- const data = JSON.stringify({
110
- code,
111
- map,
112
- timestamp: Date.now(),
113
- });
114
- await fs.writeFile(cachePath, data, 'utf-8');
115
- }
116
- async clear() {
117
- const files = await fs.readdir(this.cacheDir);
118
- await Promise.all(files.map(f => fs.unlink(path.join(this.cacheDir, f))));
119
- }
120
- }
121
- // Main Parallel JIT Compiler
122
- export class ParallelJITCompiler {
123
- workerPool;
124
- persistentCache;
125
- memoryCache = new Map();
126
- cacheTimeout = 5 * 60 * 1000; // 5 minutes for memory cache
127
- constructor() {
128
- this.workerPool = new WorkerPool();
129
- this.persistentCache = new PersistentCache();
130
- }
131
- async compile(source, filename, options = {}) {
132
- const cacheKey = this.generateCacheKey(source, filename, options);
133
- const startTime = performance.now();
134
- // 1. Check memory cache first (fastest)
135
- const memoryCached = this.memoryCache.get(cacheKey);
136
- if (memoryCached && Date.now() - memoryCached.timestamp < this.cacheTimeout) {
137
- return {
138
- code: memoryCached.code,
139
- map: memoryCached.map,
140
- fromCache: true,
141
- compileTime: performance.now() - startTime,
142
- };
143
- }
144
- // 2. Check persistent cache
145
- const diskCached = await this.persistentCache.get(cacheKey);
146
- if (diskCached) {
147
- // Promote to memory cache
148
- this.memoryCache.set(cacheKey, {
149
- ...diskCached,
150
- timestamp: Date.now(),
151
- });
152
- return {
153
- code: diskCached.code,
154
- map: diskCached.map,
155
- fromCache: true,
156
- compileTime: performance.now() - startTime,
157
- };
158
- }
159
- // 3. Compile in parallel using worker
160
- const result = await this.workerPool.execute({
161
- id: cacheKey,
162
- source,
163
- filename,
164
- options,
165
- });
166
- const compileTime = performance.now() - startTime;
167
- // 4. Cache results
168
- this.memoryCache.set(cacheKey, {
169
- code: result.code,
170
- map: result.map,
171
- timestamp: Date.now(),
172
- });
173
- // Save to disk cache in background
174
- this.persistentCache.set(cacheKey, result.code, result.map).catch(() => {
175
- // Ignore disk cache errors
176
- });
177
- return {
178
- code: result.code,
179
- map: result.map,
180
- fromCache: false,
181
- compileTime,
182
- };
183
- }
184
- generateCacheKey(source, filename, options) {
185
- const content = `${source}::${filename}::${JSON.stringify(options)}`;
186
- return createHash('md5').update(content).digest('hex');
187
- }
188
- async invalidate(filename) {
189
- // Invalidate all cache entries that might depend on this file
190
- for (const [key] of this.memoryCache.entries()) {
191
- if (key.includes(filename)) {
192
- this.memoryCache.delete(key);
193
- }
194
- }
195
- }
196
- clearMemoryCache() {
197
- this.memoryCache.clear();
198
- }
199
- async clearAllCache() {
200
- this.memoryCache.clear();
201
- await this.persistentCache.clear();
202
- }
203
- getStats() {
204
- return {
205
- memoryCacheSize: this.memoryCache.size,
206
- maxWorkers: Math.max(1, cpus().length - 1),
207
- };
208
- }
209
- async terminate() {
210
- await this.workerPool.terminate();
211
- }
212
- }
213
- // Singleton instance
214
- let compilerInstance = null;
215
- export function getParallelCompiler() {
216
- if (!compilerInstance) {
217
- compilerInstance = new ParallelJITCompiler();
218
- }
219
- return compilerInstance;
220
- }
221
- // Export for direct use
222
- export { WorkerPool, PersistentCache };
223
- //# sourceMappingURL=parallel-jit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parallel-jit.js","sourceRoot":"","sources":["../src/parallel-jit.ts"],"names":[],"mappings":"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"}