koxudaxi
datamodel-code-generator
BlogDocsChangelog

Add version-specific schema processing using schema_features

#2934Merged
Comparing
feature/version-specific-processing
(
dd2aef2
) with
feature/schema-object-refactoring
(
811cf13
)
CodSpeed Performance Gauge
-6%
Untouched
11
Skipped
98

Benchmarks

Skipped (98)

test_main_nested_directory
tests/main/jsonschema/test_main_jsonschema.py
Skipped
247.9 ms*
test_main_strict_types_all_with_field_constraints
tests/main/jsonschema/test_main_jsonschema.py
Skipped
81 ms*
test_main_jsonschema_complex_any_of
tests/main/jsonschema/test_main_jsonschema.py
Skipped
68 ms*
test_main_allof_root_model_constraints
tests/main/jsonschema/test_main_jsonschema.py
Skipped
287.1 ms*
test_main_use_frozen_field_dataclass
tests/main/jsonschema/test_main_jsonschema.py
Skipped
35.8 ms*
test_main_use_frozen_field_pydantic_v1
tests/main/jsonschema/test_main_jsonschema.py
Skipped
48.5 ms*
test_main_use_frozen_field_pydantic_v2
tests/main/jsonschema/test_main_jsonschema.py
Skipped
54 ms*
test_main_jsonschema_reserved_field_name_typed_dict
tests/main/jsonschema/test_main_jsonschema.py
Skipped
29 ms*
test_main_jsonschema_reserved_field_name_dataclass
tests/main/jsonschema/test_main_jsonschema.py
Skipped
29.8 ms*
test_main_jsonschema_reserved_field_name_pydantic
tests/main/jsonschema/test_main_jsonschema.py
Skipped
45.6 ms*
test_main_all_of_ref
tests/main/jsonschema/test_main_jsonschema.py
Skipped
39.3 ms*
test_main_allof_root_model_constraints_merge
tests/main/jsonschema/test_main_jsonschema.py
Skipped
262.9 ms*
test_main_lookaround_union_types_pydantic_v2
tests/main/jsonschema/test_main_jsonschema.py
Skipped
58.4 ms*
test_main_use_default_factory_for_optional_nested_models_with_dict[pydantic_v2.BaseModel-default_factory_nested_model_with_dict_pydantic_v2.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
68.4 ms*
test_force_optional
tests/main/openapi/test_main_openapi.py
Skipped
123.8 ms*
test_main_allof_root_model_constraints_merge_pydantic_v2
tests/main/jsonschema/test_main_jsonschema.py
Skipped
302.3 ms*
test_main_use_default_factory_for_optional_nested_models_with_dict[msgspec.Struct-default_factory_nested_model_with_dict_msgspec.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
59 ms*
test_main_lookaround_mixed_constraints_pydantic_v2
tests/main/jsonschema/test_main_jsonschema.py
Skipped
59.9 ms*
test_main_use_frozen_field[dataclasses.dataclass-use_frozen_field_dataclass.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
34.6 ms*
test_main_nested_lookaround_array_standard_collections
tests/main/jsonschema/test_main_jsonschema.py
Skipped
59.4 ms*
test_main_nested_lookaround_array_pydantic_v2
tests/main/jsonschema/test_main_jsonschema.py
Skipped
59.4 ms*
test_main_autodetect
tests/main/jsonschema/test_main_jsonschema.py
Skipped
52.1 ms*
test_main_builtin_field_names
tests/main/jsonschema/test_main_jsonschema.py
Skipped
50 ms*
test_main_allof_root_model_constraints_none
tests/main/jsonschema/test_main_jsonschema.py
Skipped
261.9 ms*
test_main_openapi_nullable_31
tests/main/openapi/test_main_openapi.py
Skipped
47.5 ms*
test_main_json_reuse_enum_default_member
tests/main/jsonschema/test_main_jsonschema.py
Skipped
66 ms*
test_main_openapi_all_of_required
tests/main/openapi/test_main_openapi.py
Skipped
41 ms*
test_main_use_frozen_field[pydantic.BaseModel-use_frozen_field_v1.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
47.2 ms*
test_main_modular
tests/main/openapi/test_main_openapi.py
Skipped
299.3 ms*
test_main
tests/main/openapi/test_main_openapi.py
Skipped
112.4 ms*
test_main_nullable_array_items_strict_nullable
tests/main/jsonschema/test_main_jsonschema.py
Skipped
55.9 ms*
test_main_bundled_schema_with_id_url
tests/main/jsonschema/test_main_jsonschema.py
Skipped
72.7 ms*
test_main_openapi_nullable
tests/main/openapi/test_main_openapi.py
Skipped
130.4 ms*
test_main_use_frozen_field_no_readonly
tests/main/jsonschema/test_main_jsonschema.py
Skipped
64.8 ms*
test_main_inheritance_forward_ref
tests/main/jsonschema/test_main_jsonschema.py
Skipped
102.3 ms*
test_main_jsonschema_collapsed_external_references
tests/main/jsonschema/test_main_jsonschema.py
Skipped
67.4 ms*
test_main_use_frozen_field[pydantic_v2.BaseModel-use_frozen_field_v2.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
54.7 ms*
test_main_jsonschema_no_empty_collapsed_external_model
tests/main/jsonschema/test_main_jsonschema.py
Skipped
34.2 ms*
test_main_bundled_schema_with_id_local_file
tests/main/jsonschema/test_main_jsonschema.py
Skipped
68.8 ms*
test_main_jsonschema_required_and_any_of_required
tests/main/jsonschema/test_main_jsonschema.py
Skipped
47.5 ms*
test_main_pydantic_v2_model_rebuild_inheritance
tests/main/jsonschema/test_main_jsonschema.py
Skipped
57 ms*
test_main_inheritance_forward_ref_keep_model_order
tests/main/jsonschema/test_main_jsonschema.py
Skipped
102 ms*
test_main_collapse_root_models
tests/main/openapi/test_main_openapi.py
Skipped
69.3 ms*
test_main_jsonschema_multiple_files
tests/main/jsonschema/test_main_jsonschema.py
Skipped
75.8 ms*
test_use_default
tests/main/openapi/test_main_openapi.py
Skipped
113.6 ms*
test_main_yaml
tests/main/test_main_yaml.py
Skipped
35.5 ms*
test_main_jsonschema_field_include_all_keys
tests/main/jsonschema/test_main_jsonschema.py
Skipped
51.7 ms*
test_main_jsonschema_id
tests/main/jsonschema/test_main_jsonschema.py
Skipped
42.1 ms*
test_main_field_name_shadows_class_name
tests/main/jsonschema/test_main_jsonschema.py
Skipped
50.6 ms*
test_main_jsonschema_extras_in_oneof
tests/main/jsonschema/test_main_jsonschema.py
Skipped
100.7 ms*
test_main_external_definitions
tests/main/jsonschema/test_main_jsonschema.py
Skipped
39.6 ms*
test_main_jsonschema_reserved_field_name[dataclasses.dataclass-reserved_field_name_schema_dataclass.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
30.6 ms*
test_main_lookaround_dict_key_pydantic_v2
tests/main/jsonschema/test_main_jsonschema.py
Skipped
60.2 ms*
test_main_lookaround_dict_generic_container
tests/main/jsonschema/test_main_jsonschema.py
Skipped
57.1 ms*
test_main_jsonschema_root_model_default_value
tests/main/jsonschema/test_main_jsonschema.py
Skipped
80.8 ms*
test_main_with_snake_case_field
tests/main/openapi/test_main_openapi.py
Skipped
117.3 ms*
test_main_with_strip_default_none
tests/main/openapi/test_main_openapi.py
Skipped
110 ms*
test_main_jsonschema_root_model_default_value_branches
tests/main/jsonschema/test_main_jsonschema.py
Skipped
71.9 ms*
test_main_jsonschema_external_files
tests/main/jsonschema/test_main_jsonschema.py
Skipped
36.7 ms*
test_main_jsonschema_root_model_default_value_no_annotated
tests/main/jsonschema/test_main_jsonschema.py
Skipped
77.4 ms*
test_main_lookaround_dict_standard_collections
tests/main/jsonschema/test_main_jsonschema.py
Skipped
55.6 ms*
test_main_root_id_jsonschema_self_refs_with_remote_file
tests/main/jsonschema/test_main_jsonschema.py
Skipped
74.5 ms*
test_main_jsonschema_special_field_name
tests/main/jsonschema/test_main_jsonschema.py
Skipped
53.7 ms*
test_main_jsonschema_nested_deep
tests/main/jsonschema/test_main_jsonschema.py
Skipped
66.8 ms*
test_main_root_id_jsonschema_self_refs_with_local_file
tests/main/jsonschema/test_main_jsonschema.py
Skipped
74.1 ms*
test_main_jsonschema_reserved_field_name[pydantic_v2.BaseModel-reserved_field_name_schema_pydantic.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
48.4 ms*
test_main_use_default_factory_for_optional_nested_models[dataclasses.dataclass-default_factory_nested_model_dataclass.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
52.9 ms*
test_main_jsonschema_reserved_field_name[typing.TypedDict-reserved_field_name_schema_typed_dict.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
29.9 ms*
test_main_lookaround_anyof_nullable_pydantic_v2
tests/main/jsonschema/test_main_jsonschema.py
Skipped
58.3 ms*
test_main_type_alias_cycle_keep_model_order
tests/main/jsonschema/test_main_jsonschema.py
Skipped
37.1 ms*
test_main_root_model_config_frozen
tests/main/jsonschema/test_main_jsonschema.py
Skipped
70.6 ms*
test_main_jsonschema_root_model_default_value_non_root
tests/main/jsonschema/test_main_jsonschema.py
Skipped
74 ms*
test_main_lookaround_dict_pydantic_v2
tests/main/jsonschema/test_main_jsonschema.py
Skipped
55.2 ms*
test_main_root_model_config_populate_by_name
tests/main/jsonschema/test_main_jsonschema.py
Skipped
63.5 ms*
test_main_strict_types
tests/main/jsonschema/test_main_jsonschema.py
Skipped
69.2 ms*
test_main_keep_model_order_field_references
tests/main/jsonschema/test_main_jsonschema.py
Skipped
37.5 ms*
test_main_use_default_factory_for_optional_nested_models[msgspec.Struct-default_factory_nested_model_msgspec.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
57.3 ms*
test_main_use_default_factory_for_optional_nested_models[pydantic_v2.BaseModel-default_factory_nested_model_pydantic_v2.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
65.6 ms*
test_main_jsonschema_root_model_ordering[extra_args1-jsonschema_root_model_ordering_keep_model_order.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
125.7 ms*
test_main_use_default_factory_for_optional_nested_models_with_dict[dataclasses.dataclass-default_factory_nested_model_with_dict_dataclass.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
55.6 ms*
test_main_type_alias_forward_ref_keep_model_order
tests/main/jsonschema/test_main_jsonschema.py
Skipped
47.7 ms*
test_main_jsonschema_root_model_ordering[extra_args0-jsonschema_root_model_ordering.py]
tests/main/jsonschema/test_main_jsonschema.py
Skipped
126.5 ms*
test_main_nested_lookaround_array_generic_container
tests/main/jsonschema/test_main_jsonschema.py
Skipped
61.4 ms*
test_perf_openapi_large_field_constraints
tests/main/test_performance.py
Skipped
2.6 s*
test_perf_duplicate_names_multiple_files
tests/main/test_performance.py
Skipped
843.3 ms*
test_perf_kubernetes_style
tests/main/test_performance.py
Skipped
2.1 s*
test_perf_combined_large_models_with_formatting
tests/main/test_performance.py
Skipped
3.1 s*
test_perf_large_models_typed_dict
tests/main/test_performance.py
Skipped
2.6 s*
test_perf_large_models_dataclass
tests/main/test_performance.py
Skipped
2.9 s*
test_perf_stripe_style
tests/main/test_performance.py
Skipped
1.7 s*
test_perf_graphql_style
tests/main/test_performance.py
Skipped
659.5 ms*
test_perf_aws_style_openapi
tests/main/test_performance.py
Skipped
1.4 s*
test_perf_multiple_files_to_multiple_outputs
tests/main/test_performance.py
Skipped
3.1 s*
test_perf_large_models
tests/main/test_performance.py
Skipped
2.9 s*
test_perf_openapi_large_strict_types
tests/main/test_performance.py
Skipped
2.4 s*
test_perf_graphql_style_typed_dict
tests/main/test_performance.py
Skipped
546 ms*
test_perf_deep_nested_use_annotated
tests/main/test_performance.py
Skipped
5.5 s*
test_perf_complex_refs_collapse_root
tests/main/test_performance.py
Skipped
1.8 s*

Passed

test_perf_all_options_enabled
tests/main/test_performance.py
CodSpeed Performance Gauge
-3%
6.7 s6.9 s
test_perf_deep_nested
tests/main/test_performance.py
CodSpeed Performance Gauge
-3%
6 s6.3 s
test_perf_duplicate_names
tests/main/test_performance.py
CodSpeed Performance Gauge
-3%
996 ms1,031.4 ms
test_perf_large_models_pydantic_v2
tests/main/test_performance.py
CodSpeed Performance Gauge
-5%
3.7 s3.9 s
test_perf_openapi_large
tests/main/test_performance.py
CodSpeed Performance Gauge
-6%
2.9 s3.1 s
test_perf_multiple_files_input
tests/main/test_performance.py
CodSpeed Performance Gauge
-7%
3.8 s4.1 s
test_perf_aws_style_openapi_pydantic_v2
tests/main/test_performance.py
CodSpeed Performance Gauge
-7%
2 s2.1 s
test_perf_kubernetes_style_pydantic_v2
tests/main/test_performance.py
CodSpeed Performance Gauge
-7%
2.6 s2.8 s
test_perf_stripe_style_pydantic_v2
tests/main/test_performance.py
CodSpeed Performance Gauge
-8%
2 s2.1 s
test_perf_graphql_style_pydantic_v2
tests/main/test_performance.py
CodSpeed Performance Gauge
-9%
823.3 ms900.9 ms
test_perf_complex_refs
tests/main/test_performance.py
CodSpeed Performance Gauge
-10%
2 s2.2 s

Commits

Click on a commit to change the comparison range
Base
feature/schema-object-refactoring
811cf13
-6.19%
Replace getattr with direct config access for schema_version_mode
dd2aef2
3 days ago
by koxudaxi
© 2026 CodSpeed Technology
Home Terms Privacy Docs