Есть ли более эффективный способ перебора массива js объектов в wasm-bindgen? - PullRequest
0 голосов
/ 06 апреля 2020

Это мой код wasm-bindgen:

#[wasm_bindgen]
pub fn iteration(js_array: &JsValue) -> Vec<i32> {
let elements: Vec<Duck> = js_array.into_serde().unwrap();
elements.iter().fold(vec![], |mut acc, duck| {
    let id = duck.id.parse::<i32>().unwrap_or(0);
    if id % 42 == 0 {
        acc.push(id)
    }
    acc
})
}

Это тот же код JS:

const iterator = (arr) => arr.reduce((acc, _, index) => {
   return index % 42 === 0 ? [...acc, index] : acc
}, [])

Но версия wasm-bindgen медленнее в 2 раза. Я понимаю, почему - потому что я использую serde.

Есть ли более эффективный способ перебора массива объектов в wasm-bindgen

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...