Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 0 additions & 35 deletions .changeset/optimize-schema-loops.md

This file was deleted.

7 changes: 0 additions & 7 deletions .changeset/stale-carpets-greet.md

This file was deleted.

9 changes: 9 additions & 0 deletions examples/benchmark/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# example-benchmark

## 0.4.78

### Patch Changes

- Updated dependencies [[`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57), [`09056b0`](https://github.com/reactive/data-client/commit/09056b0adf1375e0aa17df6c1db6f73f721c518f)]:
- @data-client/endpoint@0.15.4
- @data-client/normalizr@0.15.4
- @data-client/core@0.15.4

## 0.4.77

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/benchmark/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "example-benchmark",
"version": "0.4.77",
"version": "0.4.78",
"description": "Benchmark for normalizr",
"main": "index.js",
"author": "Nathaniel Tucker",
Expand Down
8 changes: 8 additions & 0 deletions examples/coin-app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# coinbase-lite

## 0.0.12

### Patch Changes

- Updated dependencies [[`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57), [`09056b0`](https://github.com/reactive/data-client/commit/09056b0adf1375e0aa17df6c1db6f73f721c518f)]:
- @data-client/react@0.15.4
- @data-client/rest@0.15.4

## 0.0.11

### Patch Changes
Expand Down
6 changes: 3 additions & 3 deletions examples/coin-app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "coinbase-lite",
"version": "0.0.11",
"version": "0.0.12",
"packageManager": "yarn@4.12.0",
"description": "Coin App",
"scripts": {
Expand Down Expand Up @@ -45,8 +45,8 @@
"@anansi/router": "0.10.21",
"@babel/runtime-corejs3": "7.28.6",
"@data-client/img": "0.15.0",
"@data-client/react": "0.15.3",
"@data-client/rest": "0.15.2",
"@data-client/react": "0.15.4",
"@data-client/rest": "0.15.4",
"core-js": "3.47.0",
"d3": "7.9.0",
"history": "*",
Expand Down
8 changes: 8 additions & 0 deletions examples/normalizr-github/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# normalizr-github-example

## 0.1.53

### Patch Changes

- Updated dependencies [[`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57)]:
- @data-client/endpoint@0.15.4
- @data-client/normalizr@0.15.4

## 0.1.52

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/normalizr-github/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "normalizr-github-example",
"version": "0.1.52",
"version": "0.1.53",
"description": "And example of using Normalizr with github",
"main": "index.js",
"author": "Paul Armstrong",
Expand Down
8 changes: 8 additions & 0 deletions examples/normalizr-redux/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# normalizr-redux-example

## 0.1.51

### Patch Changes

- Updated dependencies [[`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57)]:
- @data-client/endpoint@0.15.4
- @data-client/normalizr@0.15.4

## 0.1.50

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/normalizr-redux/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "normalizr-redux-example",
"version": "0.1.50",
"version": "0.1.51",
"description": "And example of using Normalizr with Redux",
"main": "index.js",
"author": "Paul Armstrong",
Expand Down
8 changes: 8 additions & 0 deletions examples/normalizr-relationships/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# normalizr-relationships

## 0.1.53

### Patch Changes

- Updated dependencies [[`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57)]:
- @data-client/endpoint@0.15.4
- @data-client/normalizr@0.15.4

## 0.1.52

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/normalizr-relationships/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "normalizr-relationships",
"version": "0.1.52",
"version": "0.1.53",
"description": "And example of using Normalizr with relationships",
"main": "index.js",
"author": "Paul Armstrong",
Expand Down
9 changes: 9 additions & 0 deletions examples/test-bundlesize/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# test-bundlesize

## 0.1.4

### Patch Changes

- Updated dependencies [[`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57), [`09056b0`](https://github.com/reactive/data-client/commit/09056b0adf1375e0aa17df6c1db6f73f721c518f)]:
- @data-client/react@0.15.4
- @data-client/rest@0.15.4
- @data-client/img@0.15.0

## 0.1.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/test-bundlesize/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "test-bundlesize",
"version": "0.1.3",
"version": "0.1.4",
"packageManager": "yarn@4.12.0",
"description": "Testing Bundled Size",
"scripts": {
Expand Down
34 changes: 34 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# @data-client/core

## 0.15.4

### Patch Changes

- [#3703](https://github.com/reactive/data-client/pull/3703) [`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57) Thanks [@ntucker](https://github.com/ntucker)! - Improve normalize/denormalize performance 10-15%
- Replace `Object.keys().forEach()` with indexed for loops
- Replace `reduce()` with spreading to direct object mutation
- Cache getter results to avoid repeated property lookups
- Centralize arg extraction with pre-allocated loop
- Eliminate Map double-get pattern

#### Microbenchmark Results

| # | Optimization | Before | After | Improvement |
| --- | ---------------------------- | ----------------- | ----------------- | ---------------- |
| 1 | **forEach → forLoop** | 7,164 ops/sec | 7,331 ops/sec | **+2.3%** |
| 2 | **reduce+spread → mutation** | 912 ops/sec | 7,468 ops/sec | **+719% (8.2x)** |
| 3 | **getter repeated → cached** | 1,652,211 ops/sec | 4,426,994 ops/sec | **+168% (2.7x)** |
| 4 | **slice+map → indexed** | 33,221 ops/sec | 54,701 ops/sec | **+65% (1.65x)** |
| 5 | **Map double-get → single** | 23,046 ops/sec | 23,285 ops/sec | **+1%** |

#### Impact Summary by Codepath

| Codepath | Optimizations Applied | Expected Improvement |
| ------------------------------------------ | --------------------- | -------------------- |
| **normalize** (setResponse) | 1, 2, 4 | 10-15% |
| **denormalize** (getResponse) | 1, 2, 4 | 10-15% |
| **Controller queries** (get, getQueryMeta) | 5, 6 | 5-10% |

- [`09056b0`](https://github.com/reactive/data-client/commit/09056b0adf1375e0aa17df6c1db6f73f721c518f) Thanks [@ntucker](https://github.com/ntucker)! - Simplify endpoint.update() error message

- Updated dependencies [[`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57)]:
- @data-client/normalizr@0.15.4

## 0.15.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@data-client/core",
"version": "0.15.3",
"version": "0.15.4",
"description": "Async State Management without the Management. REST, GraphQL, SSE, Websockets, Fetch",
"sideEffects": false,
"main": "dist/index.js",
Expand Down
29 changes: 29 additions & 0 deletions packages/endpoint/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# @data-client/endpoint

## 0.15.4

### Patch Changes

- [#3703](https://github.com/reactive/data-client/pull/3703) [`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57) Thanks [@ntucker](https://github.com/ntucker)! - Improve normalize/denormalize performance 10-15%
- Replace `Object.keys().forEach()` with indexed for loops
- Replace `reduce()` with spreading to direct object mutation
- Cache getter results to avoid repeated property lookups
- Centralize arg extraction with pre-allocated loop
- Eliminate Map double-get pattern

#### Microbenchmark Results

| # | Optimization | Before | After | Improvement |
| --- | ---------------------------- | ----------------- | ----------------- | ---------------- |
| 1 | **forEach → forLoop** | 7,164 ops/sec | 7,331 ops/sec | **+2.3%** |
| 2 | **reduce+spread → mutation** | 912 ops/sec | 7,468 ops/sec | **+719% (8.2x)** |
| 3 | **getter repeated → cached** | 1,652,211 ops/sec | 4,426,994 ops/sec | **+168% (2.7x)** |
| 4 | **slice+map → indexed** | 33,221 ops/sec | 54,701 ops/sec | **+65% (1.65x)** |
| 5 | **Map double-get → single** | 23,046 ops/sec | 23,285 ops/sec | **+1%** |

#### Impact Summary by Codepath

| Codepath | Optimizations Applied | Expected Improvement |
| ------------------------------------------ | --------------------- | -------------------- |
| **normalize** (setResponse) | 1, 2, 4 | 10-15% |
| **denormalize** (getResponse) | 1, 2, 4 | 10-15% |
| **Controller queries** (get, getQueryMeta) | 5, 6 | 5-10% |

## 0.15.2

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/endpoint/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@data-client/endpoint",
"version": "0.15.2",
"version": "0.15.4",
"description": "Declarative Network Interface Definitions",
"homepage": "https://dataclient.io/docs/guides/custom-protocol",
"keywords": [
Expand Down
32 changes: 32 additions & 0 deletions packages/graphql/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# @data-client/graphql

## 0.15.4

### Patch Changes

- [#3703](https://github.com/reactive/data-client/pull/3703) [`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57) Thanks [@ntucker](https://github.com/ntucker)! - Improve normalize/denormalize performance 10-15%
- Replace `Object.keys().forEach()` with indexed for loops
- Replace `reduce()` with spreading to direct object mutation
- Cache getter results to avoid repeated property lookups
- Centralize arg extraction with pre-allocated loop
- Eliminate Map double-get pattern

#### Microbenchmark Results

| # | Optimization | Before | After | Improvement |
| --- | ---------------------------- | ----------------- | ----------------- | ---------------- |
| 1 | **forEach → forLoop** | 7,164 ops/sec | 7,331 ops/sec | **+2.3%** |
| 2 | **reduce+spread → mutation** | 912 ops/sec | 7,468 ops/sec | **+719% (8.2x)** |
| 3 | **getter repeated → cached** | 1,652,211 ops/sec | 4,426,994 ops/sec | **+168% (2.7x)** |
| 4 | **slice+map → indexed** | 33,221 ops/sec | 54,701 ops/sec | **+65% (1.65x)** |
| 5 | **Map double-get → single** | 23,046 ops/sec | 23,285 ops/sec | **+1%** |

#### Impact Summary by Codepath

| Codepath | Optimizations Applied | Expected Improvement |
| ------------------------------------------ | --------------------- | -------------------- |
| **normalize** (setResponse) | 1, 2, 4 | 10-15% |
| **denormalize** (getResponse) | 1, 2, 4 | 10-15% |
| **Controller queries** (get, getQueryMeta) | 5, 6 | 5-10% |

- Updated dependencies [[`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57)]:
- @data-client/endpoint@0.15.4

## 0.15.2

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/graphql/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@data-client/graphql",
"version": "0.15.2",
"version": "0.15.4",
"description": "Quickly define typed GraphQL resources and endpoints",
"homepage": "https://dataclient.io/docs/graphql",
"repository": {
Expand Down
29 changes: 29 additions & 0 deletions packages/normalizr/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# Change Log

## 0.15.4

### Patch Changes

- [#3703](https://github.com/reactive/data-client/pull/3703) [`4fe8779`](https://github.com/reactive/data-client/commit/4fe8779706cb14d9018b3375d07b486a758ccb57) Thanks [@ntucker](https://github.com/ntucker)! - Improve normalize/denormalize performance 10-15%
- Replace `Object.keys().forEach()` with indexed for loops
- Replace `reduce()` with spreading to direct object mutation
- Cache getter results to avoid repeated property lookups
- Centralize arg extraction with pre-allocated loop
- Eliminate Map double-get pattern

#### Microbenchmark Results

| # | Optimization | Before | After | Improvement |
| --- | ---------------------------- | ----------------- | ----------------- | ---------------- |
| 1 | **forEach → forLoop** | 7,164 ops/sec | 7,331 ops/sec | **+2.3%** |
| 2 | **reduce+spread → mutation** | 912 ops/sec | 7,468 ops/sec | **+719% (8.2x)** |
| 3 | **getter repeated → cached** | 1,652,211 ops/sec | 4,426,994 ops/sec | **+168% (2.7x)** |
| 4 | **slice+map → indexed** | 33,221 ops/sec | 54,701 ops/sec | **+65% (1.65x)** |
| 5 | **Map double-get → single** | 23,046 ops/sec | 23,285 ops/sec | **+1%** |

#### Impact Summary by Codepath

| Codepath | Optimizations Applied | Expected Improvement |
| ------------------------------------------ | --------------------- | -------------------- |
| **normalize** (setResponse) | 1, 2, 4 | 10-15% |
| **denormalize** (getResponse) | 1, 2, 4 | 10-15% |
| **Controller queries** (get, getQueryMeta) | 5, 6 | 5-10% |

## 0.15.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/normalizr/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@data-client/normalizr",
"version": "0.15.0",
"version": "0.15.4",
"description": "Normalizes and denormalizes JSON according to schema for Redux and Flux applications",
"homepage": "https://dataclient.io/docs/concepts/normalization",
"keywords": [
Expand Down
Loading