comphead commented on issue #26257:
URL: https://github.com/apache/datafusion/issues/26257#issuecomment-6150677933

   Yeah, this question is super fair. 
   IMO AI or not AI the codebase needs to try to follow healthy project 
metrics, examples are:
                                                                                
                                                                                
                                            
   **Code quality**
   - Cyclomatic or cognitive complexity (p95, count over threshold)
   - File and function size
   - Duplication ratio
   - Clippy warnings, `unsafe` count, and `unwrap`/`panic!` count in non-test 
code
   - TODO/FIXME count
   
   **Testing**
   - Line and branch coverage
   - Test-to-code ratio and test mix (unit, SLT, doc, fuzz)
   - Flaky test rate and CI pass rate on `main`
   - CI duration
   
   **Dependencies and API**
   - Dependency count, duplicate versions, outdated or vulnerable crates
   - Public API size and breaking changes per release
   - Build time and binary size
   
   **Performance**
   - Benchmark trends (TPC-H, TPC-DS, ClickBench)
   - Peak memory
   - Regressions per release
   
   **Docs**
   - Public item doc coverage
   
   **Process**
   - PR cycle time and size
   - Issue age and open/closed ratio
   - Patch releases per major (bug escape rate)
   - Churn hotspots, active contributors, bus factor
   
   
   Please find LOC analytics for last 7 releases, the codebase is growing 
faster than ever
   
   | Release | Date | Code | Rust tests | SLT tests | Total |                   
                                                                                
                                            
     |---|---|---|---|---|---|                                                  
                                                                                
                                              
     | 48.0.0 (baseline) | 2025-06-07 | 225,478 | 175,653 | 68,435 | 469,566 |  
                                                                                
                                              
     | 49.0.0 | 2025-07-22 | 232,002 (+2.9%) | 185,791 (+5.8%) | 69,968 (+2.2%) 
| 487,761 (+3.9%) |                                                             
                                              
     | 50.0.0 | 2025-09-13 | 241,837 (+4.2%) | 194,393 (+4.6%) | 73,201 (+4.6%) 
| 509,431 (+4.4%) |                                                             
                                              
     | 51.0.0 | 2025-11-14 | 256,610 (+6.1%) | 209,428 (+7.7%) | 79,963 (+9.2%) 
| 546,001 (+7.2%) |                                                             
                                              
     | 52.0.0 | 2026-01-09 | 271,820 (+5.9%) | 232,387 (+11.0%) | 85,147 
(+6.5%) | 589,354 (+7.9%) |                                                     
                                                     
     | 53.0.0 | 2026-03-17 | 287,602 (+5.8%) | 253,301 (+9.0%) | 94,946 
(+11.5%) | 635,849 (+7.9%) |                                                    
                                                      
     | 54.0.0 | 2026-06-03 | 314,807 (+9.5%) | 293,353 (+15.8%) | 108,047 
(+13.8%) | 716,207 (+12.6%) |                                                   
                                                    
     | 55.0.0 | 2026-08-14 | 347,727 (+10.5%) | 345,977 (+17.9%) | 122,875 
(+13.7%) | 816,579 (+14.0%) |
   
   
   Some open issues to track code quality metrics:
   - #25451 Test gaps in PushDownFilter and leaf expression pushdown found by 
mutation testing
   - #12569 Property based testing to detect more (subtle and edge cases) bugs
   
   **Performance tracking and benchmarks**
   - #5504 Run DataFusion benchmarks regularly and track performance history 
over time
   
   **Binary size and build time**
   - #24727 EPIC: Reduce binary size
   - #13813 EPIC: A collection of items to improve developer / CI speed
   - #23412 Support reduced dependency graph size for datafusion-cli
   - #18471 `datafusion-cli` requires more than 8GB to build
   
   


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