bunqueue 1.6.0 → 1.6.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.
Files changed (51) hide show
  1. package/README.md +1 -1
  2. package/dist/application/eventsManager.d.ts +2 -1
  3. package/dist/application/eventsManager.d.ts.map +1 -1
  4. package/dist/application/eventsManager.js +27 -27
  5. package/dist/application/eventsManager.js.map +1 -1
  6. package/dist/application/operations/pull.d.ts.map +1 -1
  7. package/dist/application/operations/pull.js +7 -5
  8. package/dist/application/operations/pull.js.map +1 -1
  9. package/dist/cli/help.d.ts.map +1 -1
  10. package/dist/cli/help.js +7 -1
  11. package/dist/cli/help.js.map +1 -1
  12. package/dist/client/index.d.ts +1 -1
  13. package/dist/client/index.d.ts.map +1 -1
  14. package/dist/client/queue.d.ts +19 -1
  15. package/dist/client/queue.d.ts.map +1 -1
  16. package/dist/client/queue.js +87 -1
  17. package/dist/client/queue.js.map +1 -1
  18. package/dist/client/types.d.ts +71 -0
  19. package/dist/client/types.d.ts.map +1 -1
  20. package/dist/client/types.js +22 -0
  21. package/dist/client/types.js.map +1 -1
  22. package/dist/client/worker.d.ts +5 -0
  23. package/dist/client/worker.d.ts.map +1 -1
  24. package/dist/client/worker.js +30 -0
  25. package/dist/client/worker.js.map +1 -1
  26. package/dist/domain/queue/priorityQueue.d.ts +7 -2
  27. package/dist/domain/queue/priorityQueue.d.ts.map +1 -1
  28. package/dist/domain/queue/priorityQueue.js +29 -16
  29. package/dist/domain/queue/priorityQueue.js.map +1 -1
  30. package/dist/domain/queue/shard.d.ts +2 -2
  31. package/dist/domain/queue/shard.d.ts.map +1 -1
  32. package/dist/domain/queue/shard.js +14 -15
  33. package/dist/domain/queue/shard.js.map +1 -1
  34. package/dist/infrastructure/persistence/sqlite.d.ts +3 -0
  35. package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
  36. package/dist/infrastructure/persistence/sqlite.js +24 -9
  37. package/dist/infrastructure/persistence/sqlite.js.map +1 -1
  38. package/dist/infrastructure/server/tcp.d.ts.map +1 -1
  39. package/dist/infrastructure/server/tcp.js +20 -7
  40. package/dist/infrastructure/server/tcp.js.map +1 -1
  41. package/dist/main.js +4 -9
  42. package/dist/main.js.map +1 -1
  43. package/dist/shared/hash.d.ts +2 -1
  44. package/dist/shared/hash.d.ts.map +1 -1
  45. package/dist/shared/hash.js +3 -18
  46. package/dist/shared/hash.js.map +1 -1
  47. package/dist/shared/minHeap.d.ts +11 -2
  48. package/dist/shared/minHeap.d.ts.map +1 -1
  49. package/dist/shared/minHeap.js +29 -12
  50. package/dist/shared/minHeap.js.map +1 -1
  51. package/package.json +14 -8
@@ -3,10 +3,22 @@
3
3
  * Handles TCP connections with JSON line protocol
4
4
  */
5
5
  import { handleCommand } from './handler';
6
- import { LineBuffer, parseCommand, serializeResponse, errorResponse, createConnectionState, } from './protocol';
6
+ import { LineBuffer, parseCommand, createConnectionState } from './protocol';
7
7
  import { uuid } from '../../shared/hash';
8
8
  import { tcpLog } from '../../shared/logger';
9
9
  import { getRateLimiter } from './rateLimiter';
10
+ /** Reusable TextDecoder - avoid allocation per message */
11
+ const textDecoder = new TextDecoder();
12
+ /** Pre-allocated newline buffer for efficient writes */
13
+ const NEWLINE = '\n';
14
+ /** Serialize response with newline - avoids string concat per message */
15
+ function serializeResponseLine(response) {
16
+ return JSON.stringify(response) + NEWLINE;
17
+ }
18
+ /** Error response with newline */
19
+ function errorResponseLine(message, reqId) {
20
+ return JSON.stringify({ ok: false, error: message, reqId }) + NEWLINE;
21
+ }
10
22
  /**
11
23
  * Create and start TCP server
12
24
  */
@@ -38,24 +50,24 @@ export function createTcpServer(queueManager, config) {
38
50
  const rateLimiter = getRateLimiter();
39
51
  // Check rate limit
40
52
  if (!rateLimiter.isAllowed(state.clientId)) {
41
- socket.write(errorResponse('Rate limit exceeded') + '\n');
53
+ socket.write(errorResponseLine('Rate limit exceeded'));
42
54
  return;
43
55
  }
44
- const text = new TextDecoder().decode(data);
56
+ const text = textDecoder.decode(data);
45
57
  const lines = buffer.addData(text);
46
58
  for (const line of lines) {
47
59
  const cmd = parseCommand(line);
48
60
  if (!cmd) {
49
- socket.write(errorResponse('Invalid command') + '\n');
61
+ socket.write(errorResponseLine('Invalid command'));
50
62
  continue;
51
63
  }
52
64
  try {
53
65
  const response = await handleCommand(cmd, ctx);
54
- socket.write(serializeResponse(response) + '\n');
66
+ socket.write(serializeResponseLine(response));
55
67
  }
56
68
  catch (err) {
57
69
  const message = err instanceof Error ? err.message : 'Unknown error';
58
- socket.write(errorResponse(message, cmd.reqId) + '\n');
70
+ socket.write(errorResponseLine(message, cmd.reqId));
59
71
  }
60
72
  }
61
73
  },
@@ -83,8 +95,9 @@ export function createTcpServer(queueManager, config) {
83
95
  },
84
96
  /** Broadcast to all connections */
85
97
  broadcast(message) {
98
+ const messageWithNewline = message + NEWLINE;
86
99
  for (const socket of connections.values()) {
87
- socket.write(message + '\n');
100
+ socket.write(messageWithNewline);
88
101
  }
89
102
  },
90
103
  /** Stop the server */
@@ -1 +1 @@
1
- {"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../../src/infrastructure/server/tcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../../src/infrastructure/server/tcp.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -61,18 +61,13 @@ function printBanner(config) {
61
61
  const dim = '\x1b[2m';
62
62
  const reset = '\x1b[0m';
63
63
  const bold = '\x1b[1m';
64
- const cyan = '\x1b[36m';
64
+ const magenta = '\x1b[35m';
65
65
  const green = '\x1b[32m';
66
66
  const yellow = '\x1b[33m';
67
67
  console.log(`
68
- ${cyan} ____ ____ ${reset}
69
- ${cyan} / __ )__ ______ / __ \\__ _____ __ _____ ${reset}
70
- ${cyan} / __ / / / / __ \\/ / / / / / / _ \\/ / / / _ \\ ${reset}
71
- ${cyan} / /_/ / /_/ / / / / /_/ / /_/ / __/ /_/ / __/ ${reset}
72
- ${cyan}/_____/\\__,_/_/ /_/\\___\\_\\__,_/\\___/\\__,_/\\___/ ${reset}
73
- ${dim} v${VERSION}${reset}
74
-
75
- ${bold}High-performance job queue server written in TypeScript${reset}
68
+ ${magenta} (\\(\\ ${reset}
69
+ ${magenta} ( -.-) ${bold}bunqueue${reset} ${dim}v${VERSION}${reset}
70
+ ${magenta} o_(")(") ${reset}${dim}High-performance job queue for Bun${reset}
76
71
 
77
72
  ${dim}─────────────────────────────────────────────────${reset}
78
73
 
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,8 @@ export declare function shardIndex(key: string): number;
19
19
  */
20
20
  export declare function processingShardIndex(jobId: string): number;
21
21
  /**
22
- * Generate a simple UUID v4
22
+ * Generate a UUID v7 using Bun's native implementation
23
+ * ~10x faster than manual Math.random() based UUID v4
23
24
  */
24
25
  export declare function uuid(): string;
25
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/shared/hash.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;GAGG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOzC;AAoBD;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAwB,CAAC;AACjD,eAAO,MAAM,UAAU,QAAkB,CAAC;AAE1C,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,IAAI,IAAI,MAAM,CAe7B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAO/D"}
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/shared/hash.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;GAGG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOzC;AAoBD;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAwB,CAAC;AACjD,eAAO,MAAM,UAAU,QAAkB,CAAC;AAE1C,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAO/D"}
@@ -48,26 +48,11 @@ export function processingShardIndex(jobId) {
48
48
  return fnv1a(jobId) & SHARD_MASK;
49
49
  }
50
50
  /**
51
- * Generate a simple UUID v4
51
+ * Generate a UUID v7 using Bun's native implementation
52
+ * ~10x faster than manual Math.random() based UUID v4
52
53
  */
53
54
  export function uuid() {
54
- const hex = '0123456789abcdef';
55
- let result = '';
56
- for (let i = 0; i < 36; i++) {
57
- if (i === 8 || i === 13 || i === 18 || i === 23) {
58
- result += '-';
59
- }
60
- else if (i === 14) {
61
- result += '4';
62
- }
63
- else if (i === 19) {
64
- result += hex[(Math.random() * 4) | 8];
65
- }
66
- else {
67
- result += hex[(Math.random() * 16) | 0];
68
- }
69
- }
70
- return result;
55
+ return Bun.randomUUIDv7();
71
56
  }
72
57
  /**
73
58
  * Constant-time string comparison
@@ -1 +1 @@
1
- {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/shared/hash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/shared/hash.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE1B,MAAM,SAAS,GAAG,UAAU,CAAC;AAC7B,MAAM,UAAU,GAAG,UAAU,CAAC;AAE9B;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,6BAA6B;AAClD,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB;IAC1B,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,mCAAmC;IAErE,8CAA8C;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,KAAK,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC;AAE1C,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,IAAI;IAClB,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS,EAAE,CAAS;IACpD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,KAAK,CAAC,CAAC;AACtB,CAAC"}
@@ -1,10 +1,17 @@
1
1
  /**
2
- * Generic Min-Heap implementation
3
- * O(log n) push/pop, O(1) peek
2
+ * Generic Min-Heap implementation with 4-ary branching
3
+ * 4-ary heap provides better cache locality than binary heap:
4
+ * - Children are stored closer together in memory
5
+ * - Reduces cache misses during bubbleDown (most frequent operation)
6
+ * - 4 comparisons per level vs 2, but fewer levels to traverse
7
+ *
8
+ * O(log₄ n) push/pop, O(1) peek
4
9
  */
5
10
  export declare class MinHeap<T> {
6
11
  private heap;
7
12
  private readonly compare;
13
+ /** Branching factor - 4 provides optimal cache performance on modern CPUs */
14
+ private static readonly D;
8
15
  /**
9
16
  * Create a min-heap with custom comparator
10
17
  * @param compare Returns negative if a < b, positive if a > b, 0 if equal
@@ -28,7 +35,9 @@ export declare class MinHeap<T> {
28
35
  buildFrom(items: T[]): void;
29
36
  /** Remove item by predicate - O(n) */
30
37
  removeWhere(predicate: (item: T) => boolean): T | undefined;
38
+ /** 4-ary bubbleUp: parent at floor((idx-1)/4) */
31
39
  private bubbleUp;
40
+ /** 4-ary bubbleDown: children at D*idx+1 through D*idx+D */
32
41
  private bubbleDown;
33
42
  private swap;
34
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"minHeap.d.ts","sourceRoot":"","sources":["../../src/shared/minHeap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IAEjD;;;OAGG;gBACS,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM;IAI3C,uBAAuB;IACvB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qBAAqB;IACrB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,2BAA2B;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAKnB,kCAAkC;IAClC,GAAG,IAAI,CAAC,GAAG,SAAS;IAapB,8CAA8C;IAC9C,IAAI,IAAI,CAAC,GAAG,SAAS;IAIrB,qBAAqB;IACrB,KAAK,IAAI,IAAI;IAIb,oCAAoC;IACpC,OAAO,IAAI,CAAC,EAAE;IAId,qCAAqC;IACrC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI;IAQ3B,sCAAsC;IACtC,WAAW,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS;IAmB3D,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,IAAI;CAKb"}
1
+ {"version":3,"file":"minHeap.d.ts","sourceRoot":"","sources":["../../src/shared/minHeap.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,qBAAa,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IAEjD,6EAA6E;IAC7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAK;IAE9B;;;OAGG;gBACS,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM;IAI3C,uBAAuB;IACvB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qBAAqB;IACrB,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,2BAA2B;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAKnB,kCAAkC;IAClC,GAAG,IAAI,CAAC,GAAG,SAAS;IAapB,8CAA8C;IAC9C,IAAI,IAAI,CAAC,GAAG,SAAS;IAIrB,qBAAqB;IACrB,KAAK,IAAI,IAAI;IAIb,oCAAoC;IACpC,OAAO,IAAI,CAAC,EAAE;IAId,qCAAqC;IACrC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI;IAU3B,sCAAsC;IACtC,WAAW,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS;IAmB3D,iDAAiD;IACjD,OAAO,CAAC,QAAQ;IAUhB,4DAA4D;IAC5D,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,IAAI;CAKb"}
@@ -1,10 +1,17 @@
1
1
  /**
2
- * Generic Min-Heap implementation
3
- * O(log n) push/pop, O(1) peek
2
+ * Generic Min-Heap implementation with 4-ary branching
3
+ * 4-ary heap provides better cache locality than binary heap:
4
+ * - Children are stored closer together in memory
5
+ * - Reduces cache misses during bubbleDown (most frequent operation)
6
+ * - 4 comparisons per level vs 2, but fewer levels to traverse
7
+ *
8
+ * O(log₄ n) push/pop, O(1) peek
4
9
  */
5
10
  export class MinHeap {
6
11
  heap = [];
7
12
  compare;
13
+ /** Branching factor - 4 provides optimal cache performance on modern CPUs */
14
+ static D = 4;
8
15
  /**
9
16
  * Create a min-heap with custom comparator
10
17
  * @param compare Returns negative if a < b, positive if a > b, 0 if equal
@@ -54,8 +61,10 @@ export class MinHeap {
54
61
  /** Rebuild heap from array - O(n) */
55
62
  buildFrom(items) {
56
63
  this.heap = [...items];
57
- // Heapify from bottom up
58
- for (let i = Math.floor(this.heap.length / 2) - 1; i >= 0; i--) {
64
+ // Heapify from bottom up - start from last non-leaf node
65
+ // In D-ary heap, last non-leaf is at floor((n-2)/D)
66
+ const D = MinHeap.D;
67
+ for (let i = Math.floor((this.heap.length - 2) / D); i >= 0; i--) {
59
68
  this.bubbleDown(i);
60
69
  }
61
70
  }
@@ -79,27 +88,35 @@ export class MinHeap {
79
88
  }
80
89
  return item;
81
90
  }
91
+ /** 4-ary bubbleUp: parent at floor((idx-1)/4) */
82
92
  bubbleUp(idx) {
93
+ const D = MinHeap.D;
83
94
  while (idx > 0) {
84
- const parentIdx = Math.floor((idx - 1) / 2);
95
+ const parentIdx = Math.floor((idx - 1) / D);
85
96
  if (this.compare(this.heap[idx], this.heap[parentIdx]) >= 0)
86
97
  break;
87
98
  this.swap(idx, parentIdx);
88
99
  idx = parentIdx;
89
100
  }
90
101
  }
102
+ /** 4-ary bubbleDown: children at D*idx+1 through D*idx+D */
91
103
  bubbleDown(idx) {
104
+ const D = MinHeap.D;
92
105
  const length = this.heap.length;
106
+ const heap = this.heap;
107
+ const compare = this.compare;
93
108
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
94
109
  while (true) {
95
- const leftIdx = 2 * idx + 1;
96
- const rightIdx = 2 * idx + 2;
110
+ const firstChild = D * idx + 1;
111
+ if (firstChild >= length)
112
+ break;
113
+ // Find minimum among up to D children (cache-friendly sequential access)
97
114
  let smallest = idx;
98
- if (leftIdx < length && this.compare(this.heap[leftIdx], this.heap[smallest]) < 0) {
99
- smallest = leftIdx;
100
- }
101
- if (rightIdx < length && this.compare(this.heap[rightIdx], this.heap[smallest]) < 0) {
102
- smallest = rightIdx;
115
+ const lastChild = Math.min(firstChild + D, length);
116
+ for (let c = firstChild; c < lastChild; c++) {
117
+ if (compare(heap[c], heap[smallest]) < 0) {
118
+ smallest = c;
119
+ }
103
120
  }
104
121
  if (smallest === idx)
105
122
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"minHeap.js","sourceRoot":"","sources":["../../src/shared/minHeap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"minHeap.js","sourceRoot":"","sources":["../../src/shared/minHeap.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bunqueue",
3
- "version": "1.6.0",
3
+ "version": "1.6.2",
4
4
  "description": "High-performance job queue server written in Bun. SQLite persistence, cron scheduling, priorities, retries, DLQ, webhooks. Minimal dependencies.",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
@@ -39,7 +39,11 @@
39
39
  "build": "bun build --compile --minify src/main.ts --outfile dist/bunqueue",
40
40
  "build:lib": "tsc -p tsconfig.build.json",
41
41
  "test": "bun test",
42
- "bench": "bun run benchmarks/index.ts",
42
+ "bench": "bun run bench/throughput.ts && bun run bench/latency.ts",
43
+ "bench:throughput": "bun run bench/throughput.ts",
44
+ "bench:latency": "bun run bench/latency.ts",
45
+ "bench:internal": "bun run benchmarks/index.ts",
46
+ "bench:compare": "bun run bench/comparison/run.ts",
43
47
  "lint": "eslint src/",
44
48
  "lint:fix": "eslint src/ --fix",
45
49
  "format": "prettier --write \"src/**/*.ts\"",
@@ -49,17 +53,19 @@
49
53
  "prepublishOnly": "bun run build:lib"
50
54
  },
51
55
  "dependencies": {
52
- "croner": "^9.0.0",
53
- "@msgpack/msgpack": "^3.0.0"
56
+ "@msgpack/msgpack": "^3.0.0",
57
+ "croner": "^9.0.0"
54
58
  },
55
59
  "devDependencies": {
56
- "@types/bun": "latest",
57
- "typescript": "^5.9.3",
58
60
  "@eslint/js": "^9.39.2",
59
- "typescript-eslint": "^8.54.0",
61
+ "@types/bun": "latest",
62
+ "bullmq": "^5.67.2",
60
63
  "eslint": "^9.39.2",
61
64
  "eslint-config-prettier": "^10.1.8",
62
- "prettier": "^3.8.1"
65
+ "ioredis": "^5.9.2",
66
+ "prettier": "^3.8.1",
67
+ "typescript": "^5.9.3",
68
+ "typescript-eslint": "^8.54.0"
63
69
  },
64
70
  "peerDependencies": {
65
71
  "bun": ">=1.0.0"