Skip to content

Commit 9e4ee5b

Browse files
authored
Merge pull request #7 from async-rs/improve-bench
update bench code
2 parents daae823 + 30390f5 commit 9e4ee5b

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

src/lib.rs

+9-11
Original file line numberDiff line numberDiff line change
@@ -143,22 +143,20 @@ pub fn test(_attr: TokenStream, item: TokenStream) -> TokenStream {
143143
///
144144
/// ```ignore
145145
/// #![feature(test)]
146-
///
147146
/// extern crate test;
148147
///
149-
/// use async_std::task;
150-
///
151-
/// #[async_attributes::test]
152-
/// async fn spawn_and_await() {
153-
/// task::spawn(async {
148+
/// #[async_attributes::bench]
149+
/// async fn bench_1(b: &mut test::Bencher) {
150+
/// b.iter(|| {
154151
/// println!("hello world");
155-
/// }).await;
152+
/// })
156153
/// }
157154
/// ```
158155
#[proc_macro_attribute]
159156
pub fn bench(_attr: TokenStream, item: TokenStream) -> TokenStream {
160157
let input = syn::parse_macro_input!(item as syn::ItemFn);
161158

159+
let ret = &input.sig.output;
162160
let args = &input.sig.inputs;
163161
let name = &input.sig.ident;
164162
let body = &input.block;
@@ -179,10 +177,10 @@ pub fn bench(_attr: TokenStream, item: TokenStream) -> TokenStream {
179177
let result = quote! {
180178
#[bench]
181179
#(#attrs)*
182-
fn #name(b: &mut test::Bencher) {
183-
b.iter(|| {
184-
let _ = async_std::task::block_on(async { #body });
185-
});
180+
fn #name(b: &mut test::Bencher) #ret {
181+
task::block_on(task::spawn(async {
182+
#body
183+
}))
186184
}
187185
};
188186

0 commit comments

Comments
 (0)