This Domain Has Expired, To Renew Please Contact Your Provider.
This Domain Has Expired, To Renew Please Contact Your Provider.
タイトルはちょっと釣りで、ruby を dis るのが目的ではない。 今書いてるコードで、log が入る計算がやたら遅いので、RubyInline で C の呼び出しにしたらだいぶ速くなった。これはちゃんと計測しなくてはということで、書いたのがこちら。 require 'benchmark' require 'inline' class Test inline do |builder| builder.include('<math.h>') builder.c <<-EOF double log_c(int i) { return log(i); } EOF end end Benchmark.bmbm do |x| t = Test.new rands = [] 10_000_000.times do rands << rand(1000) end x.report('ruby') do
Using the select parameter in Active Record association your can speed up you application about 50% and more. The following example is only focused on the optimization of the association using select, so there are further optimizations for the following examples. Given the models: class Patient < ActiveRecord::Base belongs_to :physician end class Physician < ActiveRecord::Base has_many :patients e
RubyRubyで簡単な最適化をしていて、ふとRuby 2.0.0とJRubyの事を思い出した。ちょうど良い機会なのでCRuby、JRuby、Rubiniusでベンチマークをやってみた。測定に利用したコードは以下のリンクを見てね。配列挿入について:Ruby の配列挿入の最適化 - ( ´Д`) トンファービ〜ム! ドゴォォォ ∵. ・゜(゜Д)ノ配列アクセスについて:Ruby の配列アクセスの最適化 - ( ´Д`) トンファービ〜ム! ドゴォォォ ∵. ・゜(゜Д)ノクロージャについて:Ruby の yield、block.call、proc、lambda の理解とその最適化 - ( ´Д`) トンファービ〜ム! ドゴォォォ ∵. ・゜(゜Д)ノ結果を全部載せると長くなるだけなので、結論だけ書いておくとこんな感じ。数値は1000万件を実行した時の実行時間。Rubyインタプリタの実装
日本時間だと2013年2月7日未明のことですが、「Topaz」(トパーズ)と名付けられたPythonで実装されたRubyのバージョン0.1がリリースされました(リリースに関するブログ、プロジェクトのページ、GitHubのリポジトリ)。Ruby処理系はC、Java(JVM)、Ruby、CLI、JavaScript、Smalltalkなどによる実装がありましたが、Pythonというのは、ちょっと驚きです。ただ、Pythonといっても、Python言語で書くのが主眼なのではなく、Pythonエコシステムで高速処理を目指して作られた「PyPy(パイパイ)」の成果物の上に実装したというのがTopazのようです。現在のところコード作者リストに9人の名前が上がっていて、JRuby実装で知られるチャールズ・ナッター氏の名前も入っています。 Topazは正確にはPythonではなく、RPythonと呼ばれる
リクルートの中古車情報サイト「カーセンサーnet」を全面リニューアルした体験を基に、大規模サイトの性能改善作業の実態をレポートする。第1回、第2回で行ったNFSとApacheの設定変更、PHPアプリケーションの見直しによって、性能は劇的に向上した。しかしその後、どうしても性能が伸びない。第3回での調査で、Linuxカーネルに原因があるらしいことがわかってきた。 カーネルソースがあるディレクトリーに移動して、変数名(kernel_sem)を含むファイルを調べた。すると「lib/kernel_lock.c」というファイルの中で「kernel_sem」が定義されていた。冒頭を読むと、「This is the traditional BKL - big kernel lock」とある。直訳すれば「巨大なカーネルロック」。これは何なのだろうか。コメントを追っていくと、「古い方式」であり「新しいコード
WEBサイトに情報を入力するだけで負荷テストができるLoad Impact、GUIから操作できるApache JMeterや、コマンドラインから使うcurl-loader・httperf・Siege・Pylot・abを簡単な使い方と共に紹介していきます。 Load Impact http://loadimpact.com/ Load ImpactはスゥエーデンのGatorhole AB社が管理している、フォームに必要な情報を入力するだけで負荷テストをしてくれるWEBサイトです。 ツールをインストールしたりする必要が有りませんので、非常に楽です。 毎月5回まで無料で負荷テストができます。 それ以上は10回/$30のクレジットを購入する事になります。 トップページのフォームにURLを入れて「Run free test」をクリックすると、世界各地のいずれかのAmazon EC2サーバから負荷テス
眠いので今日は簡単にまとめます. KVM(というかQEMU)には多くの仮想NICが実装されていますが,現在の主要NICといえば rtl8139(デフォルトNIC) e1000 virtio(準仮想化NIC) の3つだと思います. 大雑把にいうと性能はvirtio > e1000 > rtl8139となりますが,KVMの面白いところ(という最適化が甘いところ)はゲストをSMPで動かしたときの性能の変化にあります.その変化は rtl8139↑ e1000→ virtio↓ となります. ゲストをSMPにするとvirtioが性能が落ちてしまうのが悲しいですね. 追伸 CPU数(スレッド数)とネットワーク性能といえば The Linux Foundation Japan Symposium #7でRed HatのDavid MillerがHorizonatal Scaling and its Im
www.uetyi.mydns.jp is not accessible... Sorry. I do not know why this site is not working. If you know Administrator of this site, please contact directly. You may be able to see it in Google cache. For administrator ... MyDNS.JP did not received IP address from you over One week. Please check your notify system. If you restart notification of IP address, MyDNS.JP will apply your IP address to DNS
こんにちは。親知らずを抜いて離乳食三昧のyukiです。GWの暴飲暴食から脱し、ダイエットするには好都合ですね。すいません。負け惜しみです。 さて、今回は「PHPのちょっとしたコツ」の続きネタで、PHP最適化Tipsまとめサイトの紹介です。 これらは既に有名なサイトで紹介されていたり、常識の範囲かもしれませんが、ひとつでも有用に感じていただければ幸いです。 そして英語が極端に苦手なため、意訳突っ込み等あれば宜しくお願い致します。 PHPの最適化 12 PHP Optimization tips (元ネタはこちらでしょうか? http://www.ilia.ws/files/zend_performance.pdf) staticが使えるなら、staticを使う。速度は4倍になる。 __get, __set, __autoload は避ける。 require_once() はコストがかか
最も有名なベンチマークサイト "The Computer Language Benchmarks Game" における最新のランキングで Ruby 1.9 は Python3, PHP, JRuby を追い抜きスクリプト言語としてトップクラスの値を叩き出しました。 5/4の時点では最下位に近かったので大きく前進しています。 1つのパッチで520%の高速化を達成 この高速化は私がfastaというベンチマークのプログラムを改善したことにより実現しました。 少し前Rubyのベンチマークを書くことにハマっていました。 他の人のプログラムや統計を眺めていたとき、fastaに関してPythonが異常に速いことに気づきました。 他のスクリプト言語のおよそ50倍速く、アルゴリズムが改良されていました。 fasta #6 fasta #7 この2つのコードを比較するとわかるのですが、処理が重複している箇所に
一般的に ImageMagick のサムネイル画像生成は遅いとされており、パフォーマンスが求められるシーンでは Imlib2 などのより高速な画像処理ライブラリが使われることが多いです。 Imlib2 の高速さについては、以前「Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成 - 床のトルストイ、ゲイとするとのこと」という記事で紹介しました。この記事のベンチマークにおいて、Imlib2 によるサムネイル画像の生成は、 ImageMagick の3倍程高速でした。 しかし、 ImageMagick は Imlib2 より画質がよく、高機能で使いやすく、今も頻繁にメンテナンスされており、とてもよく出来ています。その点 Imlib2 は、2004年からメンテナンスされておらず、セキュリティホールが見つかっても、各Linuxディストリビューションがそれぞれパッチを当て
はじめまして、gumiの津村です。 現在は解析系の仕事をしたり、ツールを作ったりしています。 今回の話は高速化についてです。 結構長めの文章です。 目次 実行速度の高速化 Python/C API ctypes Pyrex Cython SWIG その他 纏め 実行速度の高速化 高速化といっても色々ありますが、今回は実行速度の高速化についてです。 弊社ではPythonを全面的に採用していますが、そもそもLLは実行速度が遅い言語です。特にC言語のようなコンパイラ系の言語と比べると非常に遅いです。 それでもLL系の言語がここまで使われるようになったのは、開発効率が良いからです。 もはや常識ですね。 しかし、それでも特定の領域ではどうしてもPythonのようなLL系言語では厳しい部分も出てきます。 アルゴリズムを変更しても、ハードウエアを変えても、無理な物は無理です。 速度に問題がある場合の最適
Apacheについて知ろう 連載:ApacheによるWebサーバ構築(1) 「Apache」でWebサーバを構築。今回は、「なぜApacheなのか?」を改めて確認するとともにApacheの概要を解説する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く