Java'ya Dönüş: WebAssembly ve Çöp Toplama Özellikli Google E-Tablolar

Adanali

Member
Google, E-Tablolar'da hesaplamaları iki kat daha hızlı almak istiyor ancak etkili bir e-tablonun ön koşulu, başlangıçta Chrome veya Microsoft Edge'dir. Gelecekte Firefox ve Apple Safari de desteklenecek.


Duyuru



Perde arkasında, Google'ın E-Tablolar ile Java'ya dönmesine olanak tanıyan WebAssembly Garbage Collection (WasmGC), iki katına çıkan hesaplama hızından sorumludur. Microsoft Edge, Chromium'u temel alıyor: Google, duyuruda diğer web tarayıcıları hakkında yorum yapmıyor.

Java'dan JavaScript'e ve geriye


Hesaplamalardan sorumlu motor başlangıçta Java'ya dayanıyordu. Bu uygulamanın geçmişi 2006 yılına dayanmaktadır ve tüm hesaplamaları Google Sunucusuna aktarmak için tasarlanmıştır. Ancak 2013'ten bu yana Google, tarayıcıda JavaScript aracılığıyla yerel hesaplamalara geçti. Geliştiriciler, her iki sürümün de tam olarak aynı sonuçları hesaplamasını sağlamak için E-Tablolar'a bir doğrulama mekanizması ekledi.

Aynı doğrulama mekanizması hesaplamaların hızını da karşılaştırdı ve motorun Java Script sürümünün eski Java uygulamasından üç kat daha yavaş olduğu yönündeki çarpıcı sonuçla karşılaştı. Bu, Google'ın blog yazısında da görülebileceği gibi, özellikle büyük tablolarda açıkça görülmektedir.

Üçlü optimizasyon


Bu nedenle Google, 2020'den beri, C veya Rust gibi diğer programlama dillerini çalıştıran ve Wasm'ın daha sonra JavaScript'e dönüştürdüğü bir tarayıcı platformu olan WebAssembly (Wasm) aracılığıyla Java'ya geri dönmek için çalışıyor. Java'yı verimli bir şekilde kullanmak için Google'ın artık WasmGC ile verimli bir şekilde kullandığı bir çöp toplayıcıya ihtiyacınız var.

Geliştirme sırasında programcılar, Wasm'ın Sheet'in eski JavaScript kitaplıklarının yerini alması için özel bir derleyici yazdı. Ayrıca matematiksel hesaplamaların doğrulanması uzun zaman aldı. İlk prototip 2022'nin başında hazırdı.



Ancak lansman sırasında JavaScript sürümünden iki kat daha yavaştı. Geliştiriciler daha sonra Java Sanal Makinesi (JVM) ve V8 optimizasyonlarını benimsediler, daha optimize edilmiş tarayıcı API'lerine güvendiler ve JavaScript'e özgü kod kalıplarını kaldırdılar. Artık kullanıcılar tarafından kabul edilen mevcut, daha performanslı duruma ulaştınız.

Duyuru ve ayrıntılı geliştirme katkısı Google'ın bloglarında bulunabilir.




(fo)
 
Üst