プロジェクト

全般

プロフィール

機能 #915

Retriever::Model関連でURIを使っている部分を、Addressable::URIに置き換える

toshi_a 初音10ヶ月前に追加. 8ヶ月前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
開始日:
2016-10-11
期日:
進捗率:

0%

プラグイン名:

説明

3.5から、要所要所でURIを要求しているが、できるだけAddressable::URIを利用するように書き換える。

Addressable::URIでないと、ドメイン名にunicode文字を利用しているURLを扱えないようなので(IRI)、Twitterで利用するには都合が悪い。
あと、queryをHashで取り出せるやつと、URI Templeteを使ってみたさがある。

受け入れ側はURIでも受け入れ、渡す側はAddressable::URIを利用し、URIを渡すコードでも問題なく動くようにする。

関係しているリビジョン

リビジョン df20c44e (差分)
toshi_a 初音8ヶ月前に追加

Modelがuriを取り扱うための Retriever::URI を作った refs #915

リビジョン 0767bc20 (差分)
toshi_a 初音8ヶ月前に追加

Modelがuriを取り扱うための Retriever::URI を作った refs #915

履歴

#1 toshi_a 初音10ヶ月前に更新

  • ステータス新規 から 進行中 に変更

#2 toshi_a 初音10ヶ月前に更新

適当にやったら常にCPU100%食うようになった。プロファイル掛けたらAddressable::URI#to_s がめちゃくちゃCPUリソースを食ってる。
多分そもそもto_sが遅くて、それがCellRendererMessageによって頻繁に叩かれるのでそれが問題なんだと思う。URI::Genericでも同じ状況になってたはずだが、こちらはto_sが高速だったんだろう
仕事終わったらちゃんとコード読んでどうするべきか考える

#3 toshi_a 初音10ヶ月前に更新

簡単に早くするのは無理そう。ModelがAddressable::URIを返すのはやりすぎで、多くはURIの機能で十分なので、Addressable::URIが必要な時だけそれを使うようにしたほうが良さそう。

#4 toshi_a 初音8ヶ月前に更新

殆どの場合、Model#uriの結果に対してはto_sしか呼んでいないので、別のclassでwrapしてやってうまくサボれないかな

#5 toshi_a 初音8ヶ月前に更新

  • ステータス進行中 から 終了 に変更

他の形式にエクスポート: Atom PDF