YAPC::Asia TOKYO 2012

Take Another Step Forward

SEPTEMBER 27,28 & 29th

トーク情報

タイトル

Perl 1+1 耐久テスト

トーク概要

RubyやPythonは標準で多倍長整数Bignumが扱えるそうです。 「メモリの許す限り、無限の整数が扱える!?」とのこと。 本当にそうなのか、ひたすら1+1をして検証してみました。

ruby -e "print eval('1+'100+'1')" ruby -e "print eval('1+'10000+'1')" python -c "print eval('1+'10000+'1')" python -c "print eval('1+'40000+'1')" perl -e "print eval(('1+'x 40000).'1')" perl -e "print eval(('1+'x 40000_000).'1')" perl -e "print eval(('1+'x 100000000).'1')"

【結論】 PerlはRubyよりも1万倍多く 1+1 ができる。 PythonはRubyの4倍強くて、Perlはさらにその1000倍以上強い。 100MBの1+1のプログラムが動くPerlは最強。

【メモ】 僕のRubyでは1+1が実行できない!

ruby 1.9.2p180 (2011-02-18) [i386-mingw32] > ruby -e "print eval('1+'*8135+'1')"

Python 2.7.1 (r271:86832, Nov 27 2010, 17:19:03) [MSC v.1500 64 bit (AMD64)] on win32 > python -c "print eval('1+'*31433+'1')"

Pythonでもクラッシュする!

> perl -e "print eval(('1+'x 30_000_000).'1')" 30000001

Perlだと30MBでも大丈夫!

このエントリーをはてなブックマークに追加

トーク詳細

会場 伊藤謝恩ホール
開始時間 2012-09-29 17:43:00
時間 Lightning Talk

動画

スライド

スライドは登録されてません