srv1n commented on issue #2514:
URL: 
https://github.com/apache/datafusion-sqlparser-rs/issues/2514#issuecomment-6623274140

   In case it helps anyone seeing large numbers here: on a no-LTO build with 
256 codegen units of an app embedding Lance (DataFusion 54.1, sqlparser 0.62), 
symbols naming sqlparser totalled 44.2 MB. But those were 98,069 symbols with 
only 10,036 distinct names, which is 3.5 MB with one copy of each. For example, 
<Statement as Hash>::hash appeared 90 times: 45 copies each for the std and 
hashbrown hashers.
   
   Generic and derived code gets instantiated in each downstream crate, so a 
build without full LTO can report a far larger number than the crate's real 
size. With fat LTO on a small test program, sqlparser came to about 3 MB. So if 
a build shows tens of MB, it's worth checking for duplicate instantiations 
first.


-- 
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