タグ

ブックマーク / qiita.com/aoyagikouhei (1)

  • RustでRailsの代わりにCSVを作る - Qiita

    Rustを勉強してて何か実際に使ってみたかった頃に、RailsなWebアプリケーションでCSVをダウンロードする仕組みがあって、普通に作ってみたところメモリをいつぶして動かなかったので、Rustで作ってみました。 Railsでは以下のように行っていました。 1. 作成するCSVに関するパラメーター取得 2. DBからSELECT 3. CSVファイル作成 4. ZIP圧縮 5. レスポンスで返す ここで2,3をRustで実行するようにしました。 さらにRailsを楽にするため 4は外部コマンドで実行 5はX-Accel-Redirectを使ってnginxに任せました。 CSVの出力範囲は1日を想定していて Railsからはffi経由で呼び出しています。 結果、14万件のデーターが6分くらいでダウンロードできました。ZIPファイルのサイズは27MBでした。 メモリは10MBくらい使っていま

    RustでRailsの代わりにCSVを作る - Qiita
  • 1