apache / apache/datafusion

Investigate whether replacing `async_trait` with `dynosaur` yields perf improvements

Open
#17,689 0 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
9.3k
Forks
2.4k
Avg merge
3d 7h
Merged PRs (30d)
344

Description

### Is your feature request related to a problem or challenge?

I was looking through axum's changelog and I stumbled upon this benchmark, where removing `async_trait` and using Rust's 1.75's native AFIT yielded a pretty substantial performance improvement.

https://github.com/tokio-rs/axum/pull/2308#issuecomment-1880186615

### Describe the solution you'd like

I want to investigate whether removing this trait in favor of native AFIT / [dynosaur](https://crates.io/crates/dynosaur) when boxed futures are needed improves query performance. I'll test with https://github.com/alamb/datafusion-benchmarking/

### Describe alternatives you've considered

N/A

### Additional context

N/A

Contributor guide

Open the contributing guide

Research direction

No DataFusion files or tests are named. Start by reviewing the linked axum benchmark and the datafusion-benchmarking project, then identify the relevant async_trait usage and benchmark the native AFIT/dynosaur alternatives. Done means documenting whether replacing the trait improves query performance.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
data-engineering, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.