🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.ruby
2 messages
2 total messages Started by Jan Słupicki Sat, 09 Aug 2008 20:14
HotRuby - ruby w przeglądarce.
#1122
Author: Jan Słupicki
Date: Sat, 09 Aug 2008 20:14
21 lines
1851 bytes
Link: http://hotruby.yukoba.jp/

Jest kilka projektów implementacji Ruby jako języka skryptowego
zastępującego JavaScript w stronach HTML ale ten wygląda najbardziej
sensownie. Gościu wpadł na pomysł używania YARV-a do kompilacji skryptu
a w JavaScripcie napisał maszynę wirtualną. Czyli kod Ruby jest wysyłany
na serwer gdzie jest dosłownie kilkuwierszowy skrypt który kompiluje
kod a potem odsyła go w formacie JSON - sprytne.
Największym zaskoczeniem dla mnie była prędkość wykonania. Okazuje się
że VM w JavaScripcie bije na głowę Ruby 1.9 ! (przynajmniej na Firefoxie 
3). Autorzy FF 3 zrobili tu naprawdę świetną robotę - dla porównania
puściłem benchmarka na IE 7 i był ponad 50 razy wolniejszy !.

W tej chwili HotRuby to tylko zabawka i "proof of concept" bo
ma bardzo ograniczoną implementację biblioteki standardowej. Jednak
jest to bardzo ciekawa zabawka.

Zastanawiam się do czego to się może przydać ?

-- 
Jan Słupicki
Re: HotRuby - ruby w przeglądarce.
#1123
Author: Marcin Mielżyński
Date: Sun, 10 Aug 2008 13:10
59 lines
2942 bytes
Jan Słupicki pisze:
> Link: http://hotruby.yukoba.jp/
> 
> Jest kilka projektów implementacji Ruby jako języka skryptowego
> zastępującego JavaScript w stronach HTML ale ten wygląda najbardziej
> sensownie. Gościu wpadł na pomysł używania YARV-a do kompilacji skryptu
> a w JavaScripcie napisał maszynę wirtualną. Czyli kod Ruby jest wysyłany
> na serwer gdzie jest dosłownie kilkuwierszowy skrypt który kompiluje
> kod a potem odsyła go w formacie JSON - sprytne.
> Największym zaskoczeniem dla mnie była prędkość wykonania. Okazuje się
> że VM w JavaScripcie bije na głowę Ruby 1.9 ! (przynajmniej na Firefoxie 
> 3). Autorzy FF 3 zrobili tu naprawdę świetną robotę - dla porównania
> puściłem benchmarka na IE 7 i był ponad 50 razy wolniejszy !.

Projekt ma już z pół roku i jestem ciekaw jak pociągnęli kompatybilność 
- podobnie xruby bił wszystkich na głowę, tylko że miał tyle 
optymalizacji wprowadzających niekompatybilności w rubym, że w zasadzie 
nie można go było nazwać implementacją rubiego, ze względu na chociażby:

# pilnowanie widzialności czy obecności metody na każdym callsite
10.times do |i|
     Fixnum.instance_eval{private :+}
     i + i rescue begin
         Fixnum.instance_eval{public :+}
         puts i
         break
     end
end

# brak możliwości implementacji jakichkolwiek optymalizacji domknięć i 
bindingów

def foo
     a = 1
     binding
end
puts eval "a", foo

# wszechobecny protokół duck-typing
o = Object.new; def o.to_str;"foo";end
puts "blah" + o

i wiele innych...

> 
> W tej chwili HotRuby to tylko zabawka i "proof of concept" bo
> ma bardzo ograniczoną implementację biblioteki standardowej. Jednak
> jest to bardzo ciekawa zabawka.
> 
> Zastanawiam się do czego to się może przydać ?
> 

podobnie: http://www.ruby-php.org/

W przyszłości inną alternatywą dla rubiego w przeglądarkach może być 
ironruby/dlr/silverlight czy jruby/consumer jre (w odpowiedzi na ciężkie 
applety)

lopex
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads