サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
naitoh.hatenablog.com
ruby/rexml のメンテナーになりました。 rexml をもっと良い感じにしていくぞ💪https://t.co/Ve7bRd564m— NAITOH Jun (@naitoh) 2024年12月16日 というわけで、ruby/rexml のメンテナーになりましたので、この1年間の REXML (と StringScanner) への取り組みをまとめてみます。 1. rexml 高速化 パース処理の内部実装を Regexp クラスから StringScanner に変更 正規表現をなるべく使わないようにする (文字列のみのマッチで代替する) 不要な文字列 Object の生成を抑える形で最適化する 繰り返し使う正規表現オブジェクトやエンコード処理をキャッシュして生成コストを抑える 2. 不正XMLチェックの強化 3. 各パーサー間でのパース処理結果の統一 4. REXML の SAX
RubyKaigi 2024 LT で 6年振り にLT発表させて頂きました。 今回の内容は、おおよそ naitoh.hatenablog.com を5分に縮めた内容になります。 具体的には、下記になります。 自分が作成している RBPDF gem で SVG 画像(XMLで記述されています。)を処理したいので、XML処理ライブラリの中でインストールの容易な REXML を使いたい。 REXML は C拡張の gem の libxml-ruby と比較して dom で65倍、sax でも 21倍遅いので、速くしたい。 Ruby 3.3 で YJIT を有効にするだけで dom で65倍→44倍、sax で 21倍→14倍の性能差まで改善されるが、まだ遅いのでさらに改善したい。 RubyKaigi 2019 の Better CSV processing with Ruby 2.6 で、St
久々にCFP出したけど通らなかったので公開します。 REXMLは Ruby 1.8.7 の頃に比べると本当に速くなってるし、YJITは Pure Ruby のライブラリにとってゲームチェンジャーだと思うんですよ。 ※ 実際に出したCFP は英語で記述しています。 Title REXMLのXML解析処理の改善 Abstract REXML は Ruby で標準で使える XMLライブラリ(Bundled Gem)で、Ruby で実装されています。 Pure Ruby のためインストールし易い特徴があるのですが、逆に処理性能が遅いです。 今回、この REXML のパース処理を高速化したので、どのような手法を用いて実施したのかをお話しします。 Details intended audience(対象読者) このトークは下記の方を対象に考えています。 Pure Ruby でパース処理を書いてみたい人
naitoh.hatenablog.com で記載した通り、RubyKaigi 2018 LT で発表させて頂きました。 内容は、今自分が py2rb.py を使用して取り組んでいる Red Chainer のポーティング作業中に気づいた、 Red Chainer と Numo::NArray に対する処理速度改善のための取り組みです。 具体的には、下記になります。 Red Chainer の行列計算(Numo::NArray)の精度を DFloat→SFloat に変更することで mnist 1epoc の学習処理を 1.73倍速くした。 Numo::NArrayの inplace と BroadCast 計算の処理速度を最大3.8倍速くした。 残りの下記2点のボトルネックの修正が完了すれば、Red Chainer は python Chainer 2.0 と比較してmnist 1epo
去年の8月に RejectKaigi 2017 にて発表した、「PythonのコードをPython ASTベースでRubyに変換を行う py2rb.py」が、初版公開できるレベルになったので、python のパッケージとして PyPIで公開しました。 pypi.python.org github.com py2rb.py は、Pythonの機械学習関連のライブラリ、特に Chainer を Ruby に移植するためにPythonからRubyへのトランスコンパイラを作成している位置づけになります。 py2rb.py 開発の経緯の詳細は、下記 blog をご覧ください。 naitoh.hatenablog.com 特徴 Python ASTベースで1行単位にRubyへ翻訳 Python => Ruby (メソッド,クラス,変数) : decorator や yield 等は未サポート impo
RubyKaigi 2017 に CFP を出したところ残念ながら Reject されてしまい、この内容を発表する場が無いかなと考えていたところ、 RejectKaigi 2017 に発表の機会を頂きましたので、お話させて頂きました。 スライドは下記に公開してますので、ご覧ください。 Reject kaigi2017 naitoh from Jun Naitoh www.slideshare.net お話した内容は Ruby で機械学習をしたいと思った場合、現状では不可能なため、下記の三つの内容について Ruby コミュニティで取り組みが行われており、 既存のgemをなんとかすること Rubyのための仕組みをつくっていくこと 巨人 (Python) の肩に乗る方法 この中の現実的な解が「巨人 (Python) の肩に乗る方法」を実現しつつある PyCall になります。 PyCall の詳
先週の土曜日に第2回shinagawa.redmine勉強会がありました。 自分はスタッフとして受付を担当していたのですが、せっかくの機会なので、今まで自分が修正してきたRedmine 1.2.0 のPDF出力機能の文字化け修正の内容をLTとして発表しました。 資料はSlideShareで公開しています。 内容は、Defect #61 Broken character encoding in pdf export とDefect #6505 PDF export broken with Japanese (Gannt and Issue Tracking) の話になります。 Redmine で使用しているPDFライブラリ"RFPDF"が下記の文字化けの問題を持っていました。 1. キリル語がNG 2. 日中韓がNG 元々RFPDFは、PHP言語で書かれたPDFライブラリ"FPDF"のRub
先日、Redmine から fork した ChiliProject 2.0.0 が出ましたね。 実は一か月程前に出た Redmine 1.2.0 もかなりの改良点があると思うのですが詳細な変更内容の日本語の説明記事が見当たらないのでRedmine 1.2.0 のチェンジログとロードマップから備忘録も兼ねて訳してみました。(タイトルの直訳だと変更内容が適切ではない場合があるので、ある程度チケットの中身を元に記載しています。) ■Accounts Feature #1763 Autologin-cookie should be configurable 自動ログイン用クッキーの設定(autologin_cookie_name, autologin_cookie_path, autologin_cookie_secure)を configuration.yml でカスタマイズ可能になりました。
このページを最初にブックマークしてみませんか?
『naitoh.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く