■ Ruby 3.4 の JSON は速くなった Ruby 3.4 の変更点をチェックしている時に byroot がめっちゃパフォーマンスよくしたからリリースアナウンスでも触れておかないと、と思いどれくらい速くなったかベンチマークとってみたら Ruby 3.3 に添付されている 2.7.2 と比較して 1.5 倍くらい速くなっていた。 Ruby 3.3 についている json-2.7.2 で日本語も含む twitter.json をパースしたときの結果 == Parsing twitter.json (567916 bytes) Warming up -------------------------------------- json 41.000 i/100ms oj 51.000 i/100ms Oj::Parser 62.000 i/100ms Calculating ------
In the previous post, I covered my motivations for improving ruby/json’s performance, and detailed the first 4 notable optimizations applied to speed up JSON generation. If I was to cover every single optimization applied, at this rate I’d end up with a dozen parts, so I’ll try to only focus on the one that made a significant difference or used an interesting pattern. Reducing Setup Cost - Argumen
こんにちは。炬燵です。父親のリアル戸籍ネームが「辰夫」でして、母の腹の中にいる間はたつおの子、「こたつ」と呼ばれていました。その後フリーター期に炬燵に居座り過ぎて炬燵と名乗るようになり、その事実を知った両親に、子宮に居た頃のあだ名の話をされ、ほなそういうことでいいですと炬燵の後付け由来が出来ました。辰夫君は辰夫君で「おおたつ」*1と呼ばれていたので、「おおたつの子、こたつです」というおもろエピソードがあります。 ①母の腹にいる時「辰夫の子供」として「こたつ」と呼ばれていた ②父が学生時代、クラスに「たつお」が三人いるので苗字から取って「おおたつ」と呼ばれていた ③私がインターネットで炬燵(こたつ)を名乗り、それが両親にバレた ④娘大好き辰夫くん、「俺はおおたつで娘はこたつ!」でニコニコに— 炬燵(kotatsu) (@sakahukamaki) December 6, 2024 RWCのサ
この記事は note株式会社 Advent Calendar 2024 の17日目の記事です。 あるRubyクラスを変更したがそのプログラムのテストケースの実行結果の確認だけでは不十分なことがよくある。例えば、CreateUserService -> Userのようなクラスの依存関係があったとする。プログラマはUserクラスに対して変更を加えたので、Userクラスに対するテストケースを実行すれば確認としては十分であると考えた。しかし、実際にはUserクラス単体ではCreateUserServiceからの実際の利用のされ方は確認できないし、保証もできないので(特にRubyプログラムであることも踏まえて)、うっかりUserクラスの振る舞いが変わってしまったことで、連鎖的にCreateUserServiceの振る舞いに影響してしまうということがよくある。 この問題には、以下のような解決策が考えら
I was recently made maintainer of the json gem, and aside from fixing some old bugs, I focused quite a bit on its performance, so that it is now the fastest JSON parser and generator for Ruby on most benchmarks. Contrary to what one might think, there wasn’t any black magic or deep knowledge involved. Most of the performance patches I applied were fairly simple optimizations driven by profiling. A
ViXion、オートフォーカスアイウェア「ViXion01S」にプログラミング言語「Ruby」をIoTデバイス向けに軽量化した「mruby/c」を採用あらゆる人の「見えづらさ」を解決するため、「ViXion01S」に「mruby/c」を組み込むことで、各種機能や操作を自由にカスタマイズできる柔軟性を実現 公益財団法人しまね産業振興財団(島根県松江市、代表理事理事長:馬庭正人、以下「当財団」)は、次世代の視覚サポートデバイスを開発・提供するハードウェアスタートアップのViXion株式会社(東京都中央区、代表取締役社長:南部誠一郎、以下「ViXion」)の自動でピントを調節するオートフォーカスアイウェア「ViXion01S(ヴィクシオンゼロワンエス)」に、当財団が運営する「しまねソフト研究開発センター(以下「ITOC」)」で研究開発するIoTデバイス向け開発言語「mruby/c」が採用されたこ
こんにちは。Feature2 Unitのうなすけです。我々のチームの担当範囲のひとつには「データの入出力」というものがあり、お客様からAPI呼び出しやファイルアップロードなどで受け取ったデータを適切に処理するコンポーネントの運用・開発をしています。 AWS Lambdaの処理が失敗するようになった 皆さん、AWS Lambdaはお使いでしょうか。我々も様々な処理にAWS Lambdaを活用しています。一例として、ユーザーからアップロードされたCSVファイルのバリデーションを行うLambda functionをAWS Step Functionsの一部として実行しています。 ある日、機能追加として日本語を含む1CSVファイルのアップロードを許可したのですが、CSVファイルのバリデーション処理でエラーが発生するようになりました。日本語も受け入れるようにしたタイミングと同時にRuby runti
Rubyist Hotlinksにインスパイアされて始まったイベント『Rubyistめぐり』。第5回はonkさんをゲストに迎えて、お話を聞きました。こちらは後編です。(前編はこちら) hey.connpass.com 最先端で障害対応ができる自負がある 藤村:最近はどんなことしてるんですか? onk:最近はマネージャーをやっております。仕事では手を動かしてないですね。 藤村:主な関心ごと、主な時間を使っているところってどういうことですか? onk:定例ミーティングと1on1でほぼ全ての時間が消えていくので、主な関心ごとは見ている全てのプロジェクトが破綻しないことですね。カレンダーがテトリスになってます。しかももうほぼゲームオーバー寸前のテトリス。 藤村:ここらへんも似てるからまた話が広がらない、わかるで終わっちゃうのが悲しいところなんですけど。時間の確保とかどうしてます?普通にやっていると
このエントリはmrubyファミリ (組み込み向け軽量Ruby) Advent Calendar 2024の1日目の記事です。 近年、mruby bytecodeを利用していろんな環境でRubyを動かす試みがみられます。ふつうRuby処理系を自分で実装するとすれば という3段階になるわけですが、mruby bytecodeを使えば前段はmrbcコマンドがやってくれるので、後段であるVM+ランタイムの実装だけでRubyプログラムを動かすことができ、だいぶ楽になります。 とはいえ… 言語処理系実装の経験がなければ、後段だけでもけっこうな歯ごたえがあるでしょう。特にmruby本体はC言語で書かれているため、Rubyistにとってはとっつきづらいかもしれません。 ということで、Rubyで書かれたmruby VM、mruby/rubyをご用意しました。 https://github.com/yhara
There is a recent language comparison repo which has been getting shared a lot. In it, CRuby was the third slowest option, only beating out R and Python. The repo author, @BenjDicken, created a fun visualization of each language’s performance. Here’s one of the visualizations, which shows Ruby as the third slowest language benchmarked: The code for this visualization is from https://benjdd.com/lan
こんにちは @hsbt です。毎回になりますがゲームばかりやっているのに加えて、夏くらいからバラ栽培にハマっています。最近は NHK の趣味の園芸の録画と視聴に加えて Youtube の バラ塾 や ガーデンちゃんねるなどを見て、バラの育成知識を勉強しつつ、来年の春に向けた冬剪定をやったりしています。 さて、ANDPAD Advent Calendar 5日目のこの記事では、Ruby の未来に向けた機能開発の状況についていくつかご紹介します。 Ruby Hackathon 2024 を開催してきました Ruby の core チーム(Ruby コミッタの集まり)では、例年どこかに集まって合宿という形で相談しながらなにか難しい課題を解決するコードを書くということをやっています。今年は RubyWorld Conference 2024 が開催される前日に松江駅前のオープンソースラボに集まって
この記事は、Techouse Advent Calendar 2024 2日目です。 昨日は nissiy による 「エンジニア100人に聞きました」〜Techouse紹介編〜 でした。 二日目は、2024年に新卒で入社し、ジョブハウスでバックエンドエンジニアをしている aki が担当します。 先日、自身の参画しているプロジェクトの Ruby のバージョンが 3.3.5 に更新されました。これに伴い、手元の開発環境にも Ruby 3.3.5 を install しようと思いました。 開発環境では Ruby のバージョン管理マネージャとして rbenv を利用しております。徐ろに rbenv install 3.3.5 を実行すると、 BUILD FAILED (macOS 15.0 on arm64 using ruby-build YYYYMMDD) ... build に失敗してしまい
test-unitをメンテナンスしている須藤です。最近@tikkssとtest-unitを改良しているので紹介します。テストを並列実行できるように改良しています。 きっかけ @tikkssはRed Data Toolsに参加しているのですが、red-datasetsのテストが遅いのをどうにかするということに取り組んでいました。いくつかのケースはテスト内容を減らすことで高速化しましたが、その方法で高速化できるものは一通り対応しつくしました。これ以上の高速化はtest-unitでテストを並列実行できるようにするしかないのでは!?という気持ちになったので@tikkssと一緒に取り組み始めました。 週に1回、お昼の30分で一緒に取り組んでいます。最近は毎週水曜日の12:15-12:45に取り組んでいます。私は東京に住んでいて@tikkssは島根に住んでいるので、Jitsi Meetを使ってオンライ
こんにちは、@makicamel です。体力ない民ですが最近ランニングを始めました。ランニングアプリの履歴を眺めてにこにこしています。成長が見えると嬉しいものですね。 この記事は ANDPAD Advent Calendar 2024 1 日目の記事です。 @hsbt さんに「Ruby ネタで登録待ってます」とお声がけ頂いて、「Ruby でアドベントカレンダーの記事... Ruby でアドベントカレンダーをつくる記事にしよう」と思いたち Ruby でアドベントカレンダーをつくりました。 Build an advent calendar with Ruby. (Gist) GitHub - makicamel/ruby-advent-calendar-2024: Build an advent calendar with Ruby (GitHub) 適当なファイルに保存して実行したり irb
長年の運用で「Gemfileはこう運用すると上手くいった」という知見が蓄積されてきたので、ここに書き出してみておく。 Bundler/OrderedGemsを有効化する RuboCopの Bundler/OrderedGems Copを有効化する。 悪い例: gem 'puma' gem 'jbuilder' 良い例: gem 'jbuilder' gem 'puma' セクションを分けない 基本的に、独自の判断で空行を入れてセクションを分けたりしない。 ここで言うセクションとは「空行で区切られた1つのまとまり」のことである。Bundler/OrderedGems は、このまとまりの中で辞書順であることを要求する。 悪い例: gem 'aws-sdk-rails' gem 'aws-sdk-s3' gem 'graphql' gem 'graphql-batch' 良い例: gem 'aw
こんにちは。2024年11月13日から15日にかけて、アメリカ・シカゴで RubyConf 2024 が開催され STORES からは3名が登壇しました。 ホテル内の立て看板 (photo by ko1) RubyConf はアメリカのタンパで 2001 年から開催されているシリーズとしては最も長い Ruby 関連カンファレンスです。今年はシカゴの Hilton ホテル(ミシガン湖の隣)で3日間開催されました。参加人数は600人ほどの規模とのことで、今年初めて来たという人も結構いたようです。 今年の RubyConf は、2日目がワークショップや Hack Day の日、ということで、いつもと毛色が違いました。 キーノートが 5 件 まつもとさんのオープニングキーノート "ICE, CONFUSION, & THE 38,000FT CRASH" by Nickolas Means "Wh
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く