Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

258
Views
¿Por qué JS/React son mucho más rápidos que WebAssembly/Rust?

Estoy haciendo algunas pruebas con Wasm generado por Rust (wasm_bindgen). Lo que me deslumbra es que la implementación de JavaScript parece ser mucho más rápida que la implementación de Rust.

El programa está creando n elementos de un dictado/objeto/mapa y empujándolos a una matriz.

La implementación de JavaScript es muy fácil:

 const createJSObjects = (amount: number) => { const arr: Array<{ index: number }> = [] for (let i = 0; i < amount; i++) { arr.push({ index: i }) } return arr }

Suficientemente fácil. La implementación de Rust es similar:

 #[wasm_bindgen] pub fn create_rust_objects(amount: usize) -> JsValue { let mut arr: Vec<Obj> = vec![]; arr.reserve(amount); for i in 0..amount { let itm = Obj { index: i }; arr.push(itm); } JsValue::from_serde(&arr).unwrap() }

También probé con un vector de hashmaps:

 let mut field = HashMap::new(); field.insert("index", i); arr.push(field);

Ambos son igualmente "lentos".

Estoy importando el binario Wasm con los archivos js y d.ts generados que vienen con wasm-build.

El JavaScript es al menos dos veces más rápido que el código oxidado. ¿Por qué es esto? ¿Estoy haciendo algo mal con la implementación? La implementación se configura de acuerdo con los documentos de MDN.

Puse todo el código en un proyecto React - https://github.com/Devalo/rust-react-wasm-test

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La respuesta es que probablemente no estés haciendo nada malo. Esencialmente, WASM tiene el potencial de ser más rápido, pero no siempre lo será.

Realmente me gustó esta lectura rápida de Winston Chen en la que ejecutan pruebas de rendimiento que comparan el ensamblaje web con Vanilla JS.

Si está interesado en una conversación más profunda, esta charla de Surma en Google I/O '19 es muy informativa. Del vídeo:

Tanto JavaScript como Web Assembly tienen el mismo rendimiento máximo. Son igual de rápidos. Pero es mucho más fácil mantenerse en el camino rápido con Web Assembly que con JavaScript.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!