3 ms·
If a 50-character piece of JS is running for two seconds, it was definitely optimized at some point. And even a most advanced optimization of 50 characters woul
by IvanK_net 5y ago
If a 50-character piece of JS is running for two seconds, it was definitely optimized at some point. And even a most advanced optimization of 50 characters would not take more than 0.1 seconds.
Even with a warmup, the unwrapped version is more than 3x faster.
- brrrrrm 5y agohttps://jsbenchit.org/?src=cb64%2CeJztV21v2zYQ_iuEPyVIRvNIHl-S9UPRrdvQpSuQtRvQFIXsKIhQWQpspVsT5L_voewkkmWn3bC3Am0_WOGRxyOf5-4eXo-aoinz0cHoVT5t6rl4fHpaNEVdjfZHRYWvrCyusnbgYDStq0UjnotHgpwJ9vCkOqnKvBHZGYaq_DfxtKyzxujH83n2Yef5LiYk8-Rh83S7eeX-tDvB2XX3D5un280r99Vqwq1FnhVluaPu_H_EPn3Ajltc5M3lBS5vPBbzy2ohJvlZPc9Fnk3PRZMvGkxJP4vRwevrUZXNEhbf5GfZZZlM0_o0DVyfVEIsrz_DbtkZfN8OTDAw6Q5MMTBNA2kIm4mdFGaBUXWIn6_F80Oxt1fsitYrVr0u3iSn6WdPTPDTOrs5qW4QwTxfIBSEdz3KJvW8yU9HB2dZuchTcJdVMzogrUPAXx-mZY55dn90foVRJuIotTMUYwiKPO6iyZaeZjVOFaQ3SgX2ZHxM8_Kv4GaeboAkVjljjLbkgovwuchn8C0tW9JsnCUfI9l2yWn-vlhx1EjGMqV0JGNNTD6x7yzPYFNSpX_OEbMJMZroowkGvt9n8yKrpu3G2kVPKkTn4MNb7EBmf1Rdzo6z2UV7QGdvgFkxS9_Xy2O3zgO1KwwxThsc9s3L7GKRLszJaGl_dJHPixp_bo8kuT1usBNCwRm1ws3gJtwNtrwoswZwztptj-orsCwbs1Ri5yibFlVTL84PxQ9Vk5cCA-KnY_GrIPWW-K3fFY8vEPwv-eRZ0YzZeGmc2Hn2_c9HP-6LsniXi-_y6bt6Vzw5n9ezfBydVNI6ZyWREsfZGS5otewBIlij4j0PeMkDdiFqaWLgaLXldMg-DbRk8CPiPrRRFC3f00BJsh4EAUmAJzuycNoSAQTRHJ3VwYUQvPXLVR0mkCRFyc6YYr2mMKACefZeWeUUGbAmwnmPCWSwoYqYp5Vm7EAIvseEuJkJ8GuidT4yaW9Dnwkq_d1nwoZA1ohANrB22rRE-GTsJfGhmL8_iJi5u4R4rBVhQ0XiaTFHKfp9nIwPgGqiVkNQEY-S3jtGlseoEiw9UL10OHhIp2HtgzFdUHHANsPAe4tIVpAaGYk9u8gcArEFXuu5rXEHwII8EbAZ5jbYowF1ShyTrtP1AVXsY_CsGZtje6wfpPY2QEE9G7VH4dGoTFh1ByhL5O8A0GEgQ0DhU5vwpwDdkMxOsQTXeWM6v8rnC9zdmFjq2zS-XfBgRXe-U9FXoKOcW5sqs4qASUXk-jroxjJr1HIdOQDFbkFPoAXUSLawoWPcoY7k9YQkwwSkOPsh7MqiFAHwoFAdjEFJHtR0nVwojSsNgamfyakJxeg0OkfaxoKLg0R2W3AHU-__W8DYSWRk5LCkDwPZADwrpMAA-OLFeV3lh-LJi5di-Z1gB-L0lpao3jLhrzGAxFE9Kcoc398iins-oMp_ae__cXsHG-7k38tqXpclHHf139-tAIu9R_ZjErA17NGb1oLfpQ0fHateLUwfS7Pums2tGR9Ls7mTl58sMHGTHQYiCxMDcXnWkURvZwPOOD1QFk6yDgS8DbBz3FUWYCBbwxRAIm1i7NQj8MuTDmj4qExu0IW0dIGNcnANMYNugnKyzkEb0KRAVB8iug33qpGHroAEQPYA-dTuN1Qj3sLA1LexpYIuQV_tMtCjSKIerzFwGMcmAgaQ9_PQl-gpg67kgJ6VrLRGXipCSe6TgKRLOFuP9oHeFJf95VZeKps0pElSzyX5sWJBQCfT3iPfDZScBwlwuR0SoPh7FDC0eQhXZ1cs6UkRENLBCS4f_c1aFJl7DliURh0ThIwKaJ0GB3CcHgfCNmkZoSlRwjxbUBrH7SoRDy9rSmQYxwZpiRwwLQf-VWmJCo5cXpeWHqQFDwJS0CnFmNEH1EgygIrTe0AhVXt4Ql9giIIPaGuQFHfPBUhrSBaoP6xKL4Lhc8HY9ASJaZaF0tn0XNDRRps0DhqI6iFKElLBIZtQViyUb9KWa1nt1TZtqVBKfHqrpF6JsLqPhSSP1x8L62FsUBh4sPxfpSXK9VBaOmg7rER_xXuPkMxDNQESB4t6HSEH8UBoU_LulYjjMoqqMlDpfC8n0BZQ9gxYhBqQhF8_jSEnkINOGfDCJc0-SGMFJoBsKLfG4bnjEFdPTXCiFbQQ2oWmVCcGebz1iQjdg-iwCmxO5-2gbs1QWQ4D2SQs8eYwn42w_NLW__m2fnPz5uYPDir1Ng%3D%3D https://jsbenchit.org/?src=cb64%2CeJztV21v2zYQ_iuEPyVIRvNIHl...
- brrrrrm 5y agoI fixed your fiddle to get the normal unrolled version 4x faster. Please see: https://jsfiddle.net/Lmzqpr03/ https://jsfiddle.net/Lmzqpr03/ Largely, the use modern javascript and proper benchmarking made the results more consistent with the benchmark posted. This included 1) avoiding the use of "var" (using let for scoped iterator variables and const for unchanging references) 2) using proper warmup (10% of runs) 3) isolating the benchmarked code into a function that can be invoked within a loop 4) reseting the values of the arrays being added between benchmarks (to prevent any NaNs/infinities from cropping up)
- IvanK_net 5y agoBTW. I replaced every "let" and "contst" with "var" in your code, and it seems to run about 15% faster: https://jsfiddle.net/05xd1oft/ https://jsfiddle.net/05xd1oft/ Inserting the loop into a function really speeds it up in Chrome. Also, I have noticed, that for Float32Array, the rolled / unrolled performance is almost identical, but for Uint32Array, unrolled is about 30% faster: https://jsfiddle.net/aq06p94f/ https://jsfiddle.net/aq06p94f/