27000行の書き出しぐらいでヘタってんじゃねえよクソカス!!!って Ruby にキレてる
Conversation
Notices
-
Embed this notice
ロージー / ハト (rosylilly@best-friends.chat)'s status on Thursday, 27-Jun-2024 13:43:39 JST ロージー / ハト -
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 13:51:13 JST 斎藤ただし @rosylilly っ --yjit
ってメモリなら別かな -
Embed this notice
ロージー / ハト (rosylilly@best-friends.chat)'s status on Thursday, 27-Jun-2024 13:52:25 JST ロージー / ハト @tadd 俺は単にキーが26000個あるハッシュを JSON として書き出したいだけなんだ
-
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 13:53:14 JST 斎藤ただし @rosylilly おぉぉ、それくらいなら何とかなりそうな気もしますね……jsonライブラリと本体とどっちやろ、悲しみ><
-
Embed this notice
ロージー / ハト (rosylilly@best-friends.chat)'s status on Thursday, 27-Jun-2024 13:53:48 JST ロージー / ハト @tadd 全部書いてから File.write すると書き込みバッファ足らんぽい
-
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 13:56:11 JST 斎藤ただし @rosylilly ほ~~。カーネルのパラメータの何かをいじる必要がある、とかですかね。そうでなくてメモリに乗り切る量なら、どっかのバグなのかも?
-
Embed this notice
ロージー / ハト (rosylilly@best-friends.chat)'s status on Thursday, 27-Jun-2024 13:56:47 JST ロージー / ハト @tadd Oj dump したら Ruby が 21GB のメモリを食べ始めて笑っています
-
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 13:57:12 JST 斎藤ただし @rosylilly 納得できる良い笑い(??)
-
Embed this notice
ロージー / ハト (rosylilly@best-friends.chat)'s status on Thursday, 27-Jun-2024 13:57:28 JST ロージー / ハト @tadd 全然よくないしシンプルに重い
-
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 13:58:21 JST 斎藤ただし @rosylilly はい……ただそれ、他の言語だとうまくさばける(=Ruby関係のメモリの持ち方が悪い)かどうかは、ぱっと分からないですね
-
Embed this notice
ロージー / ハト (rosylilly@best-friends.chat)'s status on Thursday, 27-Jun-2024 16:11:51 JST ロージー / ハト @tadd Go だとすぐだったから Ruby はでかいメモリ食うタイプのデータ触るのとやや相性悪いなぁとなった。Ruby の方が便利なんだけどなぁ
-
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 16:12:17 JST 斎藤ただし @rosylilly あっらー、なるほど。goでもlibjson使ってるんでしょうか?
-
Embed this notice
ロージー / ハト (rosylilly@best-friends.chat)'s status on Thursday, 27-Jun-2024 16:12:57 JST ロージー / ハト @tadd いや、Go は libjson 使ってないね。というか書き出し時に stream で出せるのがやや効いてる感じある
-
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 16:17:02 JST 斎藤ただし @rosylilly なるほど、ojにストリーム系のAPIがなければ、それは一番大きそうな気がします
-
Embed this notice
ロージー / ハト (rosylilly@best-friends.chat)'s status on Thursday, 27-Jun-2024 16:17:17 JST ロージー / ハト @tadd ちょっと見たけどなかったんだよね
-
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 16:18:09 JST 斎藤ただし @rosylilly としたらとても納得ですです
-
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 19:52:44 JST 斎藤ただし @rosylilly そういえば今見たら、to_fileとかto_streamとかはありそうでした。
Oj.to_file('out.json', hash)
https://www.rubydoc.info/gems/oj/Oj#to_file-class_methodけどソース見たら自前でバッファもしてるし、その辺で引っかかるのかもしれません
-
Embed this notice
ロージー / ハト (rosylilly@best-friends.chat)'s status on Thursday, 27-Jun-2024 21:40:35 JST ロージー / ハト @tadd だめか〜〜〜
In conversation permalink -
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 21:40:36 JST 斎藤ただし @rosylilly 実装見て嫌な予感がして軽く試した範囲ですが、やっぱだめでした……Oj.dumpつかって安定して(??)OOMが走る状況作った上で、それをto_fileとかto_streamに書き換えても、何も変わらなかったです。killされる秒数もほぼ同じ。そしてSEGVに出会う……。
In conversation permalink -
Embed this notice
斎藤ただし (tadd@best-friends.chat)'s status on Thursday, 27-Jun-2024 22:17:03 JST 斎藤ただし @rosylilly もしかするとバグかも分かんないですね、ストリームしてる感じがしなくて。
In conversation permalink
-
Embed this notice