Performance optimisation in javascript
- 15. Debouncing
● Реальный вызов происходит только в случае, если с момента
последней попытки прошло время, большее или равное задержке.
● Реальный вызов происходит сразу, а все остальные попытки вызова
игнорируются, пока не пройдет время, большее или равное задержке,
отсчитанной от времени последней попытки.
- 27. Микрооптимизация
● Use x | 0 instead of Math.floor
● Clear arrays with .length = 0 to avoid creating a new Array
● Use if .. else over switch
● Use TypedArrays for floats or integers (e.g. vectors and matrices)
- 28. Weak maps
var map = new WeakMap(),
element = jsObject;
map.set(element, {imAssosiatedWith: 'element'});
var value = map.get(element);
console.log(value);
element = null;
value = map.get(element);
console.log(value);
- 32. WebWorkers
● Web workers не могут доступиться к DOM элементам
● Web workers ничего не знают о глабольном скоупе, скоуп у них свой
● Web workers не знают о alert и confirm
● Window, documents также недоступны
- 43. var transaction = db.transaction(["history"],IDBTransaction.READ_WRITE);
var put = transaction.objectStore("history").put(blob, "image");
IndexedDB
- 45. ● loat32x4 (C type: __m128): four 32 bit floating point numbers.
● uint32x4 (C type: __m128i): four 32 bit unsigned integers.
Simd
- 46. var a = SIMD.float32x4(1.0, 2.0, 3.0, 4.0);
var b = SIMD.float32x4(5.0, 6.0, 7.0, 8.0);
var c = SIMD.float32x4.add(a,b);
Simd
- 48. Движок River Trail даст толчек ParallelJS. ParallelArray позволят работать с данными
паралельно
ParallelJS
- 50. WebCL
WebCL — спецификация, которая описывает JavaScript-интерфейс к стандарту OpenCL (Open Computing Language), для
организации кросc-платформенных паралельных вычислений с использованием CPU и GPU-видеокарт.