<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Jaros&#322;aw Zabie&#322;&#322;o - BLOG: JRuby 1.0</title>
    <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>moje notatki, linki, komentarze</description>
    <item>
      <title>JRuby 1.0</title>
      <description>&lt;p&gt;Ukaza&#322;a si&#281; finalna wersja &lt;a href="http://jruby.codehaus.org/"&gt;JRuby 1.0&lt;/a&gt; &amp;#8211; implementacji j&#281;zyka &lt;a href="http://ruby-lang.org/"&gt;Ruby&lt;/a&gt; w czystej Javie. Zesp&#243;&#322; JRuby zach&#281;ca do testowania Rails&#243;w na JRuby. Z tego co pami&#281;tam, to wersji finalnej JRuby zapowiadano w&#322;&#261;czenie optymalizacji kodu. Zanim zatem wyjdzie w ko&#324;cu Ruby 2.0, JRuby on Rails ma ju&#380; teraz szans&#281; prze&#322;ama&#263; stereotyp o s&#322;abszej wydajno&#347;ci Rubiego. Szczeg&#243;lnie mo&#380;e to mie&#263; du&#380;e znaczenie dla platformy Windows, bo Ruby na systemach &lt;span class="caps"&gt;POSIX&lt;/span&gt; (Linux, &lt;span class="caps"&gt;BSD&lt;/span&gt;, Mac &lt;span class="caps"&gt;OS X&lt;/span&gt;) pracuje znacznie wydajniej.&lt;/p&gt;


	&lt;p&gt;Dla mi&#322;o&#347;nik&#243;w Mac &lt;span class="caps"&gt;OS X&lt;/span&gt; jest dost&#281;pny &lt;a href="http://www.techcfl.com/blog/?p=109"&gt;artyku&#322; pokazuj&#261;cy jak skonfigurowa&#263;&lt;/a&gt; ca&#322;e &#347;rodowisko Javy dla Rail. Ale do pracy z Rails, najpro&#347;ciej u&#380;y&#263; &lt;a href="http://deadlock.nbextras.org/hudson/job/ruby/"&gt;Netbeans 6&lt;/a&gt; kt&#243;ry od jakiego&#347; czasu pozwala&lt;sup&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt; na uruchamianie Rails&#243;w na JRuby (mo&#380;na wybra&#263; sobie opcj&#281; JRuby lub klasyczny CRuby).&lt;/p&gt;


	&lt;p&gt;Zobacz te&#380; artyku&#322; &amp;#8220;&lt;a href="http://java.sun.com/developer/technicalArticles/scripting/jruby/"&gt;JRuby and the Java Platform&lt;/a&gt;&amp;#8221; jaki ukaza&#322; si&#281; wczoraj na stronie firmy Sun.&lt;/p&gt;


&lt;hr size="1" width="30%" align="left" /&gt;

	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; Szkoda, &#380;e &lt;span class="caps"&gt;NB6&lt;/span&gt; nie ma jeszcze zaimplementowanego kolorowania i podpowiadania helper&#243;w dla &lt;a href="http://haml.hamptoncatlin.com/"&gt;Haml&lt;/a&gt;. Jak kto&#347; ma si&#322;y i czas to tu jest opis jak &lt;a href="http://platform.netbeans.org/tutorials/nbm-mfsyntax.html"&gt;doda&#263; kolorowanie&lt;/a&gt; dla jakiego&#347; innego j&#281;zyka.&lt;/p&gt;</description>
      <pubDate>Wed, 13 Jun 2007 11:24:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:597062a5-308f-4772-8199-d0b695a2b515</guid>
      <author>Jaros&#322;aw Zabie&#322;&#322;o</author>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0</link>
      <category>jruby</category>
      <category>java</category>
      <category>ruby</category>
      <category>rails</category>
    </item>
    <item>
      <title>"JRuby 1.0" by Gf</title>
      <description>&lt;p&gt;A ja szukam sposobu by zaszyfrowac dane na komorce. Czy jest jakis jezyk skryptowy ale nie na java ale j2ee. 
Chodzi o to by udalo sie. zaszyfrowac jakims znanym algorytmem np. rsa&lt;/p&gt;</description>
      <pubDate>Thu, 04 Oct 2007 10:48:45 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:1fd6c68e-bb2b-4f7d-89a8-29e7d24c2c42</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-1031</link>
    </item>
    <item>
      <title>"JRuby 1.0" by Filip</title>
      <description>&lt;p&gt;Microsoft r&#243;wnie&#380; bierze si&#281; za Ruby &amp;#8211; niedawno ukaza&#322;a si&#281; wersja pre-alpha IronRuby, czy Ruby dla &#347;rodowiska .NET (wg zapowiedzi projekt trafi na Rubyforge). Oby nie sko&#324;czy&#322;o si&#281; to jakim&#347; Ruby# w stylu J#...&lt;/p&gt;</description>
      <pubDate>Fri, 10 Aug 2007 11:01:22 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:89e31888-d530-4d75-928c-5fa37944560f</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-879</link>
    </item>
    <item>
      <title>"JRuby 1.0" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;lopex: Nie rozumiem logiki twojej wypowiedzi. Z tego, &#380;e Unicode dodano do Pythona p&#243;&#378;niej (a nie od pocz&#261;tku) nie wynika, &#380;e dzia&#322;a on w jaki&#347; spos&#243;b gorzej od Javy. Wr&#281;cz przeciwnie. Dzia&#322;a bardzo dobrze i jest dobrze zintegrowany z bibliotekami standardowymi. Wyra&#380;enia regularne, operacje na stringach itp dzia&#322;aj&#261; poprawnie. Nie spotka&#322;em si&#281; z jakimi&#347; problemami. Wypada tylko &#380;yczy&#263; aby Ruby doczeka&#322; si&#281; te&#380; prawdziwych obiekt&#243;w Unicode zamiast prymitywnej obs&#322;ugi UTF-8 jak&#261; na razie si&#281; podpiera.&lt;/p&gt;</description>
      <pubDate>Sat, 16 Jun 2007 01:47:05 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:1eb34d2a-7130-464f-80cb-776b48e96874</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-828</link>
    </item>
    <item>
      <title>"JRuby 1.0" by Radarek</title>
      <description>&lt;p&gt;lopex, czy&#380;by&#347; testowa&#322; pod windowsem? Bo pod linuxem MRI jest szybsze od jrubiego, ale pod windowsem benchmarki wychodz&#261; mi bardzo podobne do Twoich.&lt;/p&gt;</description>
      <pubDate>Fri, 15 Jun 2007 03:14:15 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:db669348-5285-4572-8ee1-05a3c1b81b45</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-827</link>
    </item>
    <item>
      <title>"JRuby 1.0" by Radarek</title>
      <description>&lt;p&gt;Z niecierpliwo&#347;ci&#261; czekam wi&#281;c na kolejne wersje JRubiego, gdzie zostanie poprawiona wydajno&#347;&#263; :). Czekam tak&#380;e na YARV, ale co&#347; ostatnio nic nie s&#322;ycha&#263; (cisza przed burz&#261;?;)).&lt;/p&gt;</description>
      <pubDate>Fri, 15 Jun 2007 02:32:41 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:b066c76a-01d8-4168-97a0-e625c7477aac</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-826</link>
    </item>
    <item>
      <title>"JRuby 1.0" by lopex</title>
      <description>&lt;p&gt;Radarek: kontynuuj&#261;c spraw&#281; wydajno&#347;ci, w javie optymalizacje nie s&#261; tak oczywiste i intuicyjne jak w c/c++.
Java z jednej strony traci na analizie gor&#261;cych miejsc (st&#261;d HotSpot), przez to te&#380; rosn&#261; wymagania pami&#281;ciowe, startup itd&amp;#8230;,
z drugiej strony nie wiem kt&#243;ry kompilator c++ potrafi dokona&#263; analizy ucieczki i czy potrafi tak agresywnie inlinowa&#263; metody wirtualne.
Je&#347;li analogiczny program napiszesz w c za pomoc&#261; wska&#378;nik&#243;w do funkcji (co np MRI robi nagminnie), c przegra z jav&#261; z kretesem.
BTW, na moim working copy powy&#380;szy benchmark jeszcze bardziej ucieka MRI :D&lt;/p&gt;</description>
      <pubDate>Thu, 14 Jun 2007 22:04:19 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:c3a7bd41-d165-4b2f-956a-22639b97a9d2</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-825</link>
    </item>
    <item>
      <title>"JRuby 1.0" by lopex</title>
      <description>&lt;p&gt;Jaros&#322;aw: &amp;#8220;w niczym nie ust&#281;puj&#261;ce Javie&amp;#8221; 
Przykro mi, ale nie do ko&#324;ca, w javie unicode by&#322; od samego pocz&#261;tku i jest bardziej zintegrowany z ca&#322;&#261; platform&#261;, w pythonie jest bolted on&amp;#8230;, zwa&#380; &#380;e String w javie jest zaimplementwany w samej javie, nie b&#281;dziej wi&#281;c nigdy &#380;adnych problem&#243;w z bibliotekami, w bindingach dla pythona to ju&#380; mo&#380;e by&#263; problem. Druga sprawa, je&#347;li por&#243;wnasz bebechy pythona i javy zobaczysz gdzie &#322;atwiej ewoluowa&#263; implementacj&#281; (cho&#263; zwyk&#322;emu u&#380;ytkownikowi j&#281;zyka przeszkadza&#263; to prawdopodobnie nie b&#281;dzie)
Radarek: czy uruchamia&#322;e&#347; test na jdk6 i maszyn&#281; w trybie server ? (jak napisa&#322;em w tamtym po&#347;cie), je&#347;li b&#281;dziesz u&#380;ywa&#263; du&#380;o obiekt&#243;w nonimmediate &amp;#8211; warto te&#380; wy&#322;&#261;czy&#263; ObjectSpace, opcja -O.&lt;/p&gt;</description>
      <pubDate>Thu, 14 Jun 2007 21:28:23 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:64de02ee-2380-4d74-af77-e9fdf286ed2a</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-824</link>
    </item>
    <item>
      <title>"JRuby 1.0" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;lopex: nie przesadzaj. Python ma tak&#380;e pe&#322;ne wsparcie dla kodowa&#324; w niczym nie ust&#281;puj&#261;ce Javie. Jedna z pierwszych rzeczy kt&#243;ra mnie zachwyci&#322;a w Pythonie to jako&#347;&#263; jego biblioteki Unicode.&lt;/p&gt;</description>
      <pubDate>Thu, 14 Jun 2007 18:07:39 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:af59e045-6470-4f52-920d-9686368faaa6</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-823</link>
    </item>
    <item>
      <title>"JRuby 1.0" by lopex</title>
      <description>&lt;p&gt;W tej chwili String w JRubym to jak w MRI tablica bajt&#243;w. Dla przyk&#322;adu, podczas wyszukiwania regexpem ta tablica jest konwertowana to java.lang.String i z powrotem &amp;#8211; tutaj nie powinno by&#263; &#380;adnych problem&#243;w w kodowaniami. Du&#380;o &#322;atwiej by&#322;oby trzyma&#263; wszystko z char[], niestety sam Ruby jest mocno popsuty po tym wzgl&#281;dem i pe&#322;ne wsparcie dla JRubiego (w zasadzie &#322;atwiejsze do wykonania) spowodowa&#322;oby niedzia&#322;anie bibliotek Rubiego kt&#243;re na tym zepsuciu polegaj&#261;.
Wszystko zale&#380;y od dezycji w jaki spos&#243;b realizowana b&#281;dzie obs&#322;uga kodowa&#324; w Ruby 2.0. Je&#347;li b&#281;dzie ju&#380; znana to i tak wcze&#347;niej pojawi sie w JRuby ni&#380; w Ruby 2.0 (g&#322;&#243;wnie z powodu lepszych narz&#281;dzi do refactoringu w javie i &#322;atwiejszego wprowadzania du&#380;ych zmian w kodzie)
I wreszcie, nie zapominajmy, &#380;e jedynymi platformami z pe&#322;nym wsparciem dla kodowa&#324; s&#261; Java i .NET, ca&#322;a reszta to tylko namiastki.&lt;/p&gt;</description>
      <pubDate>Thu, 14 Jun 2007 17:59:59 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:9822562a-0257-4dad-9be1-465718baf2e6</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-822</link>
    </item>
    <item>
      <title>"JRuby 1.0" by Radarek</title>
      <description>&lt;p&gt;&lt;b&gt;lopex&lt;/b&gt;, dla przytoczonego przez Ciebie przyk&#322;adowego testu u mnie lepiej sobie radzi oryginalny interpreter Rubiego&lt;/p&gt;


&lt;pre&gt;
ruby -v
ruby 1.8.5 (2006-12-04 patchlevel 2) [i686-linux]

jruby -v
ruby 1.8.5 (2007-06-07 rev 3841) [i386-jruby1.0]
&lt;/pre&gt;

	&lt;p&gt;czasy:&lt;/p&gt;


&lt;pre&gt;
ruby test2.rb
      user     system      total        real
  5.790000   0.080000   5.870000 (  5.983195)
      user     system      total        real
  5.820000   0.080000   5.900000 (  6.220249)
      user     system      total        real
  5.780000   0.100000   5.880000 (  6.138611)

jruby test2.rb
      user     system      total        real
  8.770000   0.000000   8.770000 (  8.769000)
      user     system      total        real
  8.445000   0.000000   8.445000 (  8.445000)
      user     system      total        real
  8.406000   0.000000   8.406000 (  8.407000)
&lt;/pre&gt;

	&lt;p&gt;&amp;#8220;Nie jest to mo&#380;e zbyt obiektywny benchmark, ale powinien da&#263; do my&#347;lenia. G&#322;&#243;wnym celem 1.0 by&#322;a kompatybilno&#347;&#263; z MRI, dopiero teraz skupia&#263; si&#281; b&#281;dziemy na wydajno&#347;ci.&amp;#8221;&lt;/p&gt;


	&lt;p&gt;Rozumiem, &#380;e Ty jeste&#347; tym jednym z Polak&#243;w, kt&#243;ry zosta&#322; dodany do zespo&#322;u commituj&#261;cego?:) Gratulacje. Jak wygl&#261;daj&#261; wi&#281;c dalsze plany? Kiedy mo&#380;na spodziewa&#263; si&#281; pierwszych efekt&#243;w pracy nad wydajno&#347;ci&#261;? My&#347;l&#281;, &#380;e to jedna z tych kwestii w Rubym, kt&#243;r&#261; ci&#261;gle jest nierozwi&#261;zana. Wszyscy zapewne czekaj&#261; z niecierpliwo&#347;ci&#261; na YARV, ale p&#243;ki co ci&#261;gle jeste&#347;my skazani na obecn&#261; implementacj&#281;. Niestety szybko&#347;&#263; (a raczej powolno&#347;&#263;) to najcz&#281;stszy argument u&#380;ywany by udowodni&#263;, &#380;e Ruby do czego&#347; wi&#281;kszego si&#281; nie nadaje.&lt;/p&gt;</description>
      <pubDate>Thu, 14 Jun 2007 17:03:45 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:b01d6fa8-0e24-4620-be40-360cea12782c</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-819</link>
    </item>
    <item>
      <title>"JRuby 1.0" by Jaros&#322;aw Zabie&#322;&#322;o</title>
      <description>&lt;p&gt;Jestem ciekaw czy JRuby cokolwiek wniesie w zakresie lepszej obs&#322;ugi Unicode czy trzeba czeka&#263; do Ruby 2.0&amp;#8230;&lt;/p&gt;


	&lt;p&gt;Radarek: Ruby jest og&#243;lnie wolniejszy pod windoz&#261;. To chyba problem implementacji.&lt;/p&gt;</description>
      <pubDate>Thu, 14 Jun 2007 16:28:37 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:1637dfd3-3f07-4d2d-868c-a70821c10d42</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-817</link>
    </item>
    <item>
      <title>"JRuby 1.0" by lopex</title>
      <description>&lt;p&gt;Dopiero teraz zaczynaj&#261; si&#281; prawdziwe prace nad wydajno&#347;ci&#261; (w 1.0 najwa&#380;niejsza by&#322;a kompatybilno&#347;&#263;). Kompilator obs&#322;uguje na razie ok 50% w&#281;z&#322;&#243;w AST, du&#380;o pracy zosta&#322;o przy framing/scoping &amp;#8211; planowane jest jak najlepsze wykorzystanie stosu javy. Du&#380;&#261; bol&#261;czk&#261; jest zbyt cz&#281;ste u&#380;ycie ThreadLocali (ju&#380; nied&#322;ugo). Wreszcie, nadal w&#261;skim gard&#322;em z klas wbudowanych jest wsp&#243;&#322;praca String/Regexp &amp;#8211; rozwa&#380;amy tu port onigurumy 5.x.
Z drugiej strony paradoksalnie szybki jest np, Fixnum:
&lt;a href="http://cyfrowydom.idg.pl/ocena/ocena.asp?dzial=news&amp;#38" rel="nofollow"&gt;http://cyfrowydom.idg.pl/ocena/ocena.asp?dzial=news&amp;#38&lt;/a&gt;;id=112853&amp;#38;akcja=komentarze&lt;/p&gt;</description>
      <pubDate>Thu, 14 Jun 2007 16:02:11 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:17df3060-8144-4ba6-822e-c9a154d04410</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-816</link>
    </item>
    <item>
      <title>"JRuby 1.0" by Radarek</title>
      <description>&lt;p&gt;Tak, to bardzo dobre wie&#347;ci, przede wszystkim dla spo&#322;eczno&#347;ci Rubiego. Do tej pory byli&#347;my (a cz&#281;sto nadal jeste&#347;my) traktowani jak jacy&#347; odmie&#324;cy, a Rubiego uwa&#380;ano za niszowy j&#281;zyk. Tym bardziej w Polsce, gdzie poza Jav&#281;, .Net i PHP si&#281; nie wychodzi (w jednej z dyskusji na forum.php.pl niekt&#243;rzy nawet stwierdzili, &#380;e gdyby por&#243;wna&#263; czyste PHP z czystym Rubym to PHP k&#322;adzie go na &#322;opatki &amp;#8211; pozostawi&#281; to bez komentarza). Ciesz&#281; si&#281;, &#380;e tak wielkie firmy jak Sun, a nawet Microsoft zauwa&#380;aj&#261; pot&#281;g&#281; tego j&#281;zyka i nie przechodz&#261; obok niego oboj&#281;tnie.&lt;/p&gt;


	&lt;p&gt;Jestem bardzo ciekaw wydajno&#347;ci JRubiego. Czy kto&#347; testowa&#322; go pod tym wzgl&#281;dem?&lt;/p&gt;


	&lt;p&gt;Jaros&#322;aw, wspomnia&#322;e&#347; o s&#322;abej wydajno&#347;ci Rubiego pod Windowsem. Z moich obserwacji wynika przede wszystkim, &#380;e bardzo wolno dzia&#322;a start Rubiego i &#322;adowanie du&#380;ej ilo&#347;ci bilbiotek. Przyk&#322;adowo start konsoli Railsowej trwa kilka (sic!) razy d&#322;u&#380;ej ni&#380; pd linuksem. Czy kto&#347; wie, czy da si&#281; to jako&#347; naprawia&#263;/poprawi&#263;?:)&lt;/p&gt;</description>
      <pubDate>Thu, 14 Jun 2007 15:18:40 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:15873920-33bb-4def-bec5-21c89a9ad2bf</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-815</link>
    </item>
    <item>
      <title>"JRuby 1.0" by obserwator</title>
      <description>&lt;p&gt;Szkoda, &#380;e Jython/DJANGO nie posiada wsparcia Sun&amp;#8212;by&#322;oby mi&#322;o :)&lt;/p&gt;</description>
      <pubDate>Thu, 14 Jun 2007 14:51:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:e83472d5-c4b5-47d1-8244-9d03c60408db</guid>
      <link>http://blog.zabiello.com/articles/2007/06/13/jruby-1-0#comment-814</link>
    </item>
  </channel>
</rss>
