Comments 8
Cрыв покров: в V8 тоже используют быструю сортировку.
А что же в них native, если они все тоже на javascript написаны? Это что же, v8 написан на v8? )
v8 компилирует js в нативный код. Для обычного кода это происходит не сразу, а для стандартной бибилотеки — сразу.
v8 не написан целиком на javascript, большинство составляющих (парсер, неоптимизирующий компилятор, оптимизирующий компилятор и др) написаны на C++. А вот стандартная библиотека написана на JS, и она компилируется в нативный код почти так же, как ваш «внешний» js код (только у вас нет доступа к native syntax, а в стандартной библиотеке он используется повсеместно).
На мой взгляд, в статье не хватает вот такого примера и объяснения почему этот код вернет {id: 6, order: 0}
function compare(a, b) {
if (a.order > b.order) {
return 1
}
if (a.order < b.order) {
return -1
}
return 0;
}
var m = [{id: 1, order: 0}, {id: 2, order: 0}, {id: 3, order: 0}, {id: 4, order: 0}, {id: 5, order: 0}, {id: 6, order: 0}, {id: 7, order: 0}, {id: 8, order: 0}, {id: 9, order: 0}, {id: 10, order: 0}, {id: 11, order: 0}];
console.log(m.sort(compare)[0]);
Sign up to leave a comment.
Реализация сортировки в V8 от Google