Commit 886a95e
committed
Add diesel to the rustc perf test suite
As far as I know diesel is a rather strange workload for rustc.
According to some short measurements most of the time compiling diesel is
spend type checking the crate and resolving trait bounds. I see multiple
reasons for this:
* Diesel builts a complex abstract query dsl for SQL based on rust
generics. All fo this needs to be type checked.
* Diesel generates a ton of trait impls for tuples of various sizes.
There are features to set the supported max size to 16, 32, 64 and 128
tuple elements. As this is a benchmark, I've chosen to set it to 128 to
maximize the number of impls.
As consequence of this diesels compile times are quite sensitive to
changes touching the type system in general and the trait resolution in
detail. Any change that will introduce a behaviour which does not scale
well with the number of available trait impls will likely result in a huge
increase for this benchmark.1 parent e28471d commit 886a95e
File tree
352 files changed
+50931
-0
lines changed- collector/benchmarks/diesel
- .github
- workflows
- diesel_derives
- src
- tests
- diesel
- src
- associations
- connection
- expression_methods
- expression
- functions
- ops
- macros
- migration
- mysql
- connection
- stmt
- query_builder
- types
- pg
- connection
- stmt
- expression
- extensions
- query_builder
- serialize
- types
- date_and_time
- floats
- query_builder
- delete_statement
- insert_statement
- nodes
- select_statement
- update_statement
- upsert
- query_dsl
- query_source
- sql_types
- sqlite
- connection
- query_builder
- types
- date_and_time
- type_impls
- upsert
- migrations
- mysql
- 20170207193805_initial_schema
- 20170209180355_add_one_off_tables_from_integration_tests
- 20170211150830_index_columns_used_in_benchmarks
- 20170215170122_create_trees
- 20170219200159_add_foreign_key
- 20170407152306_add_nullable_table
- 20170603131224_add_likes
- 20170804172328_add_foreign_keys
- 20170805195107_tables_which_make_infer_joinable_blow_up
- 20170811104602_add_blob_types
- 20170816164349_add_keywords_table
- 2020-01-25-033332_add unsigned table
- 2020-02-18-111430_create_pokes
- postgresql
- 00000000000000_diesel_initial_setup
- 20151219180527_create_users_and_posts_and_comments
- 20160107090901_add_tags_to_posts
- 20160116104628_create_special_posts_and_special_comments
- 20160825135747_create_followings
- 20161206123630_create_table_custom_schema
- 2017-09-26-151545_fix_posts_tags
- 2017-09-27-135928_remove_citext_table
- 20170209180355_add_one_off_tables_from_integration_tests
- 20170211150830_index_columns_used_in_benchmarks
- 20170215170122_create_trees
- 20170219200159_add_foreign_key
- 20170407152306_add_nullable_table
- 20170603131224_add_likes
- 20170717152137_add_ranges
- 20170721184144_create_citext_table
- 20170804172328_add_foreign_keys
- 20170805195107_tables_which_make_infer_joinable_blow_up
- 20170816164352_add_keywords_table
- 2020-02-18-111430_create_pokes
- sqlite
- 20151219180527_create_users_and_posts_and_comments
- 20160116104628_create_special_posts_and_special_comments
- 20160416143735_infer_all_the_types
- 20160825135747_create_followings
- 20170209180355_add_one_off_tables_from_integration_tests
- 20170211150830_index_columns_used_in_benchmarks
- 20170215170122_create_trees
- 20170219200159_add_foreign_key
- 20170407152306_add_nullable_table
- 20170513174919_infer_all_the_datetime_types
- 20170603131224_add_likes
- 20170804172328_add_foreign_keys
- 20170805195107_tables_which_make_infer_joinable_blow_up
- 20170816164356_add_keywords_table
- 2020-02-18-111430_create_pokes
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
352 files changed
+50931
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
Lines changed: 53 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
0 commit comments