Rust part26 (821レス)
1-

691: 11/09(土)14:07 ID:6/tB/poi(2/5) AAS
ヒープの話に戻るが、サイズが静的に確定すればヒープを一切使わない保証もできる
692: 11/09(土)14:59 ID:JFkCBQN+(1) AAS
>>690
マクロ使えばできるが大変なので誰も作らない
言語に組み込まれるのは良くて20年後やろな
693
(2): 11/09(土)15:06 ID:CKaEi0Af(2/2) AAS
>>690
外部リンク:github.com
クソ面倒なうえに劇的な効果があるわけでもなさそうだからやらねーとのこと
694: 11/09(土)15:09 ID:F1r07c7a(2/2) AAS
>>693
失望した
別の正規表現クレートが誕生するのを待つしかないのか
695: 11/09(土)17:12 ID:bFGQ+yoR(1/2) AAS
>chronoのようなほとんどのプログラムで使われない機能を
こういうことを書くやつに限って>>661みたいなコードを書いちゃうんだよなぁ
そういう時代じゃねぇだろっつーの
696: 11/09(土)17:13 ID:6/tB/poi(3/5) AAS
願望は笑いものになるが失望はそうでもない
前者は単独犯で後者は不特定多数だからだ
697
(1): 11/09(土)17:22 ID:IbVEcqQg(1) AAS
正規表現の単なる説明例じゃないのか
しかも正規表現自体も単なる例でstaticに突っ込む話の説明例だろ
そもそもの話はヒープをプログラムの最後まで解放しなくていい話でstaticはその一例として出てきただけだよな
一番どうでもいい末節の正規表現で騒いでいて違和感
698: 11/09(土)17:29 ID:8+qKiGsp(1) AAS
>>693
読んでみたが機能充実(制限)と実行速度とバイナリサイズのどれを優先するかもしくはどの二つまで両立させるかで
どのエンジンやどんな中間表現やどこまで機能制限を行なうかのバリエーションが多すぎるようだ
万人の矛盾した要求を全て満たす万能なものを実現するのは不可能だから別々に叶えるしかないな
699: 11/09(土)18:03 ID:LybhxYMR(1) AAS
>>690
RustのconstってC++のconstexprだよな
どうやってヒープ領域を返すんだ?
C++だとconstexprの計算中はnew/deleteでヒープを一時利用できるけど
deleteせずに返すのはできないよな
700: 11/09(土)18:14 ID:6/tB/poi(4/5) AAS
正規とか文脈自由とかいうのは仕様のバリエーション
実装のバリエーションなど知ったことではない
701
(1): 11/09(土)22:22 ID:bFGQ+yoR(2/2) AAS
>>697
例として出したものが
正規表現リテラルの代替策な上に
内部実装の都合上ヒープを確保してるだけで
本来はヒープである必然性もない

機能不足の代替策として
プログラムの最後まで開放しないような
ヒープの使い方もあるだろうという話なのか?
702: 11/09(土)23:06 ID:6/tB/poi(5/5) AAS
ロックして解放してロック解除しなければいい
703
(1): 11/09(土)23:11 ID:Dc7LpAyZ(1) AAS
>>701
基本的な知識を身に着けろよ
正規表現を内部コードにコンパイルして持つ役目がRegex構造体
可変長になるのでVecで持っていて当然ヒープは必須
704
(1): 11/10(日)00:07 ID:QiolRTDD(1) AAS
>>703
それは現状の内部実装上の都合の話
本質的にヒープが必須という話ではない
文字列リテラルにヒープが必須でないのと同じとでも言えばわかるかな?
705: 11/10(日)02:33 ID:OGC8ujy2(1/13) AAS
は~~~~キレそう
706: 11/10(日)02:34 ID:OGC8ujy2(2/13) AAS
なんの意味があんねや、このスレ
707
(1): 11/10(日)02:36 ID:OGC8ujy2(3/13) AAS
Rustプログラマにとって有益な情報はこれ以上出ないし、まともなRustプログラマは全員逃げたことが確定して久しいので
次スレあたりから「Rust vs 世界中の全言語 Part27」とか「複製おじさんと遊ぼう Part27」とかにしましょっか
他にもスレタイ案募集
708: 11/10(日)06:48 ID:xIqOi7JH(1/10) AAS
>>704
おまえバカだろ
正規表現パターンは実行時に確定してコンパイルサイズも実行時に確定し上限サイズはわからない
ヒープは必須だ
709
(1): 11/10(日)11:17 ID:dkv1a77w(1/4) AAS
入力がコンパイル時に確定してるならサイズも確定するでしょ
理屈としては以下のようなものは作れると思う

struct CompTimeRegex<const N: usize> {
 data: [u8; N]
}

// 正規表現オブジェクトをコンパイル時に計算
// サイズは入力に応じて変わる
// 入力はリテラルのみ
let r = make_regex!("+\\d");

面倒だし、それでパフォーマンスが劇的に良くなるわけでも無いだろうから必要性は微妙なところ
省1
710: 11/10(日)11:58 ID:WMkhj3nA(1) AAS
BurntSushiのベンチ結果見た?
1-
あと 111 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.008s