Fix serialization of pydantic.BaseModel
fields with pathlib.Path
dict keys
#184
Annotations
1 warning and 2 notices
benchmark
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/cache@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Benchmark results:
python/langsmith/_internal/_serde.py#L1
.........................................
create_5_000_run_trees: Mean +- std dev: 621 ms +- 49 ms
.........................................
create_10_000_run_trees: Mean +- std dev: 1.21 sec +- 0.06 sec
.........................................
create_20_000_run_trees: Mean +- std dev: 1.19 sec +- 0.05 sec
.........................................
dumps_class_nested_py_branch_and_leaf_200x400: Mean +- std dev: 818 us +- 8 us
.........................................
dumps_class_nested_py_leaf_50x100: Mean +- std dev: 29.0 ms +- 0.4 ms
.........................................
dumps_class_nested_py_leaf_100x200: Mean +- std dev: 118 ms +- 3 ms
.........................................
dumps_dataclass_nested_50x100: Mean +- std dev: 28.9 ms +- 0.3 ms
.........................................
WARNING: the benchmark result may be unstable
* the standard deviation (14.8 ms) is 22% of the mean (68.3 ms)
Try to rerun the benchmark with more runs, values and/or loops.
Run 'python -m pyperf system tune' command to reduce the system jitter.
Use pyperf stats, pyperf dump and pyperf hist to analyze results.
Use --quiet option to hide these warnings.
dumps_pydantic_nested_50x100: Mean +- std dev: 68.3 ms +- 14.8 ms
.........................................
WARNING: the benchmark result may be unstable
* the standard deviation (28.8 ms) is 13% of the mean (221 ms)
Try to rerun the benchmark with more runs, values and/or loops.
Run 'python -m pyperf system tune' command to reduce the system jitter.
Use pyperf stats, pyperf dump and pyperf hist to analyze results.
Use --quiet option to hide these warnings.
dumps_pydanticv1_nested_50x100: Mean +- std dev: 221 ms +- 29 ms
|
Comparison against main:
python/langsmith/_internal/_serde.py#L1
+-----------------------------------------------+---------+-----------------------+
| Benchmark | main | changes |
+===============================================+=========+=======================+
| dumps_dataclass_nested_50x100 | 27.2 ms | 28.9 ms: 1.06x slower |
+-----------------------------------------------+---------+-----------------------+
| dumps_class_nested_py_branch_and_leaf_200x400 | 766 us | 818 us: 1.07x slower |
+-----------------------------------------------+---------+-----------------------+
| dumps_class_nested_py_leaf_100x200 | 111 ms | 118 ms: 1.07x slower |
+-----------------------------------------------+---------+-----------------------+
| dumps_class_nested_py_leaf_50x100 | 26.8 ms | 29.0 ms: 1.08x slower |
+-----------------------------------------------+---------+-----------------------+
| dumps_pydantic_nested_50x100 | 58.5 ms | 68.3 ms: 1.17x slower |
+-----------------------------------------------+---------+-----------------------+
| Geometric mean | (ref) | 1.05x slower |
+-----------------------------------------------+---------+-----------------------+
Benchmark hidden because not significant (4): create_5_000_run_trees, create_20_000_run_trees, dumps_pydanticv1_nested_50x100, create_10_000_run_trees
|