-
Notifications
You must be signed in to change notification settings - Fork 162
Benchmarks for @shopify/toml-patch #5678
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: graphite-base/5678
Are you sure you want to change the base?
Conversation
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Differences in type declarationsWe detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:
New type declarationsWe found no new type declarations in this PR Existing type declarationspackages/cli-kit/dist/public/common/object.d.ts@@ -1,4 +1,4 @@
-import { Dictionary, ObjectIterator, PropertyPath, ValueKeyIteratee } from 'lodash';
+import { Dictionary, ObjectIterator, ValueKeyIteratee } from 'lodash';
/**
* Deep merges the two objects and returns a new object with the merge result.
*
@@ -53,7 +53,7 @@ export declare function deepDifference(one: object, two: object): [object, objec
* @param path - The path of the property to get.
* @returns - Returns the resolved value.
*/
-export declare function getPathValue<T = object>(object: object, path: PropertyPath): T | undefined;
+export declare function getPathValue<T = object>(object: object, path: string): T | undefined;
/**
* Sets the value at path of object. If a portion of path doesn't exist, it's create.
*
@@ -62,7 +62,7 @@ export declare function getPathValue<T = object>(object: object, path: PropertyP
* @param value - The value to set.
* @returns - Returns object.
*/
-export declare function setPathValue(object: object, path: PropertyPath, value?: unknown): object;
+export declare function setPathValue(object: object, path: string, value?: unknown): object;
/**
* Removes the property at path of object.
*
@@ -70,7 +70,7 @@ export declare function setPathValue(object: object, path: PropertyPath, value?:
* @param path - The path of the property to unset.
* @returns - Returns true if the property is deleted or not found, else false.
*/
-export declare function unsetPathValue(object: object, path: PropertyPath): boolean;
+export declare function unsetPathValue(object: object, path: string): boolean;
/**
* Checks if value is an empty object, collection, map, or set.
*
|
Coverage report
Test suite run success2222 tests passing in 966 suites. Report generated by 🧪jest coverage report action from b012a65 |
79e3793
to
a6c0d9d
Compare
4f61580
to
b012a65
Compare
We detected some changes at packages/*/src and there are no updates in the .changeset. |
1 similar comment
We detected some changes at packages/*/src and there are no updates in the .changeset. |
WHY are these changes introduced?
To benchmark and compare the performance of two different approaches for updating TOML configuration files: a new WASM-based implementation versus the existing JavaScript implementation.
WHAT is this pull request doing?
toml-patch-wasm.bench.ts
) to measure and compare the performance of TOML patching implementationsHow to test your changes?
Run the benchmark tests with
pnpm vitest bench
. It'll give a comparison between pure JS & WASM based patching. At time of writing they're roughly equivalent.