2010-06-25 36 views
5

Şu anda herhangi bir tarayıcı, Python için NumPy'nin sağladığı gibi, hızlı dizi matematik işlemlerini destekliyor mu veya destekliyor mu? Burada ne demek istediğimi göstermek için bir örnek: Bu örnekteHızlı JavaScript dizisi işlemleri

var a = new NumericArray('uint32', [1, 2, 3, 4]); 
var b = new NumericArray('uint32', [2, 2, 2, 2]); 
var c = a.add(b); // c == [3, 4, 5, 6] 

, add JavaScript uygulanan bir işlevi temsil etmek anlamına gelmez. Bu yazmak için önemsiz olurdu. C dilinde yazılmış bir işlevi (veya JavaScript uygulamasının yazıldığı herhangi bir dilde) temsil etmek ve dizinin üzerindeki matematik işlemleri için özel olarak optimize edilmek anlamına gelir.

+0

JavaScript kullanmak kullanabilirsiniz bir _standard_ olduğunu. – Oded

cevap

2

Sanmıyorum, ancak Google kesinlikle Javascript'te mümkün olanın sınırlarını zorlamakla ilgileniyor. Tarayıcıda yerel kodun güvenli bir şekilde çalıştırılmasıyla ilgileniyorsanız, NaCl'a bir göz atmak isteyebilirsiniz.

+0

Bu çok ilginç görünüyor. Bununla biraz oynamalıyım. – David

1

Özgün posteriyim, ama karşılaştığım bir şeyi paylaşacağımı düşündüm. WebGL (uygulamalar zaten Mozilla ve WebKit tarafından yürütülüyor, learningwebgl.com'da Ders 0'ya bakın), aradığım şey olan "Typed Arrays" adlı bir şeyi tanıtıyor. Spesifikasyon https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/TypedArray-spec.html'da mevcuttur. sonraki javascript standart bu işlevi desteklemek için gidiyor eğer gerçekten sormanız gereken böylece

0

Sen JavaScript yerleşik array.map yöntemi

var numbers = [1, 4, 9]; 
var roots = numbers.map(Math.sqrt); 
// roots is now [1, 2, 3], numbers is still [1, 4, 9] 
İlgili konular