function sieve(n) {
var a = new Array(n+1), // Тут нужно заменить на Int8Array чтобы увидеть разницу
max = Math.floor(Math.sqrt(n)),
p = 2,
i;
while (p <= max) {
for (i = 2 * p; i <= n; i += p) {
a[i] = 1;
}
while (a[++p]){}
}
while (a[n]) {
n--;
}
return n;
}
function speed(callback, arg) {
var start = Date.now();
callback(arg);
console.log("Заняло:", Date.now() - start, "ms");
}
speed(sieve, 500000);
var buttons = document.querySelectorAll("#buttons a");
function handler() {
var sel = location.hash.slice(1);
location.hash = sel || "#home";
[].slice.call(buttons).forEach(function (elt){
elt = elt.getAttribute("href").slice(1) === sel
? elt.classList.add("active")
: elt.classList.remove("active");
});
}
window.addEventListener("hashchange", handler);
window.addEventListener("load", handler);
Для программистов самое интересное – это то, для генерации приложений в WebAssembly можно будет использовать не JavaScript, а другие языки. Первым, для кого делается поддержка, является C++. Ветераны указатели и шаблонов снова впереди