liningpan commented on issue #24727:
URL: https://github.com/apache/datafusion/issues/24727#issuecomment-5682759018

   For some reason, `sqlparser` is significantly bloating the datafusion-cli 
binary and my own project. `cargo bloat` suggests that 6.4MiB of the 
datafusion-cli binary (release build) is attributed to sqlparser (for my own 
project, it bloats up to 20 MiB).
   
   Top functions from sqlparser look like this. I wonder if these are inlined 
copies. The `Statement` struct is 3.6k large
   
   ```
   > cargo bloat --bin datafusion-cli --release --filter sqlparser -n 100 
--full-fn
   
   File .text    Size     Crate Name
   0.0%  0.1% 33.8KiB sqlparser 
<sqlparser[f91aac8db406c26f]::parser::Parser>::parse_alter
   0.0%  0.1% 32.8KiB sqlparser 
<sqlparser[f91aac8db406c26f]::parser::Parser>::parse_create
   0.0%  0.0% 26.7KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<hashbrown[a17ea828e164abc8]::hasher::DefaultHasher>
   0.0%  0.0% 26.7KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<hashbrown[a17ea828e164abc8]::hasher::DefaultHasher>
   0.0%  0.0% 26.7KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<hashbrown[a17ea828e164abc8]::hasher::DefaultHasher>
   0.0%  0.0% 26.6KiB sqlparser 
<sqlparser[f91aac8db406c26f]::parser::Parser>::parse_alter_table_operation
   0.0%  0.0% 19.8KiB sqlparser 
<sqlparser[f91aac8db406c26f]::ast::ddl::CreateTable as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<hashbrown[a17ea828e164abc8]::hasher::DefaultHasher>
   0.0%  0.0% 19.8KiB sqlparser 
<sqlparser[f91aac8db406c26f]::ast::ddl::CreateTable as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<hashbrown[a17ea828e164abc8]::hasher::DefaultHasher>
   0.0%  0.0% 19.8KiB sqlparser 
<sqlparser[f91aac8db406c26f]::ast::ddl::CreateTable as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<hashbrown[a17ea828e164abc8]::hasher::DefaultHasher>
   0.0%  0.0% 19.4KiB sqlparser 
<sqlparser[f91aac8db406c26f]::dialect::snowflake::SnowflakeDialect as 
sqlparser[f91aac8db406c26f]::dialect::Dialect>::parse_statement
   0.0%  0.0% 18.4KiB sqlparser 
<sqlparser[f91aac8db406c26f]::parser::Parser>::parse_table_factor::{closure#0}
   0.0%  0.0% 17.5KiB sqlparser 
sqlparser[f91aac8db406c26f]::dialect::snowflake::parse_create_table
   0.0%  0.0% 17.4KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::fmt::Display>::fmt
   0.0%  0.0% 17.4KiB sqlparser 
<sqlparser[f91aac8db406c26f]::parser::Parser>::parse_create_table
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 17.1KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::clone::Clone>::clone
   0.0%  0.0% 15.3KiB sqlparser 
<sqlparser[f91aac8db406c26f]::parser::Parser>::parse_optional_create_table_config
   0.0%  0.0% 15.0KiB sqlparser 
<sqlparser[f91aac8db406c26f]::tokenizer::Tokenizer>::next_token
   0.0%  0.0% 14.7KiB sqlparser 
<sqlparser[f91aac8db406c26f]::parser::Parser>::parse_prefix::{closure#1}
   0.0%  0.0% 13.9KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<std[5d97c59e5e5fafcc]::hash::random::DefaultHasher>
   0.0%  0.0% 13.9KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<std[5d97c59e5e5fafcc]::hash::random::DefaultHasher>
   0.0%  0.0% 13.9KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<std[5d97c59e5e5fafcc]::hash::random::DefaultHasher>
   0.0%  0.0% 13.9KiB sqlparser <sqlparser[f91aac8db406c26f]::ast::Statement as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<std[5d97c59e5e5fafcc]::hash::random::DefaultHasher>
   0.0%  0.0% 13.6KiB sqlparser 
<sqlparser[f91aac8db406c26f]::parser::Parser>::parse_grant_deny_revoke_privileges_objects
   0.0%  0.0% 13.2KiB sqlparser 
<sqlparser[f91aac8db406c26f]::parser::Parser>::parse_select
   0.0%  0.0% 13.1KiB sqlparser 
<sqlparser[f91aac8db406c26f]::ast::query::TableFactor as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<std[5d97c59e5e5fafcc]::hash::random::DefaultHasher>
   0.0%  0.0% 13.1KiB sqlparser 
<sqlparser[f91aac8db406c26f]::ast::query::TableFactor as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<std[5d97c59e5e5fafcc]::hash::random::DefaultHasher>
   0.0%  0.0% 13.1KiB sqlparser 
<sqlparser[f91aac8db406c26f]::ast::query::TableFactor as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<std[5d97c59e5e5fafcc]::hash::random::DefaultHasher>
   0.0%  0.0% 13.1KiB sqlparser 
<sqlparser[f91aac8db406c26f]::ast::query::TableFactor as 
core[663bb9e1522ba5ef]::hash::Hash>::hash::<std[5d97c59e5e5fafcc]::hash::random::DefaultHasher>
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to