スレタイ(順番はRedMonk準拠)以外の言語もok
※ Rustは現世代最強言語なので除外します
前スレ
次世代言語25 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1650185555/
探検
次世代言語26 TypeScript Swift Go Kotlin Nim
■ このスレッドは過去ログ倉庫に格納されています
2022/06/21(火) 09:27:46.30ID:5vOFCGpG
452デフォルトの名無しさん
2022/07/25(月) 17:01:49.95ID:PkQCRHsR >>451
https://doc.rust-lang.org/src/alloc/string.rs.html
pub struct String {
vec: Vec<u8>,
}
これだと言葉足らずですが、リテラルから生成するString::fromなどはこのようになります
https://doc.rust-lang.org/src/alloc/string.rs.html
pub struct String {
vec: Vec<u8>,
}
これだと言葉足らずですが、リテラルから生成するString::fromなどはこのようになります
453デフォルトの名無しさん
2022/07/25(月) 17:05:57.06ID:mpRQ8kqk >>450
> RcはStringにさえ使われています。
嘘つき!
RcはStringで当然使われていないだけだなく
Rust標準ライブラリの中でも(Rc自体の
部分を除き)Rcは全く使われていない
一般的にもRcは使われることが少ない
もちろんRcを使うべき例外も一部あるがRcを使う前に構造の見直しを勧める
> RcはStringにさえ使われています。
嘘つき!
RcはStringで当然使われていないだけだなく
Rust標準ライブラリの中でも(Rc自体の
部分を除き)Rcは全く使われていない
一般的にもRcは使われることが少ない
もちろんRcを使うべき例外も一部あるがRcを使う前に構造の見直しを勧める
454デフォルトの名無しさん
2022/07/25(月) 17:28:44.47ID:RV7OdbkD 標準ライブラリでRcが使われてないのは
オーバーヘッドを嫌ってunsafeを使った代替実装が使われてるからだぞ
オーバーヘッドを嫌ってunsafeを使った代替実装が使われてるからだぞ
455デフォルトの名無しさん
2022/07/25(月) 17:32:52.00ID:JQ4EiZH/456デフォルトの名無しさん
2022/07/25(月) 17:35:20.01ID:8LuMiuhM 人を嘘つき呼ばわりするキチガイを使う前に見直しを勧める
Rustは一人でやる分には良いけど、こういう奴とは絶対組みたくない、stdしか見えないアホ、ドアホォ
std::collectionsにないコレクションを使いたければ自分で実装するかgithubなどで拾ってくる必要があるのに、お前の顔見直せよ
Rustは一人でやる分には良いけど、こういう奴とは絶対組みたくない、stdしか見えないアホ、ドアホォ
std::collectionsにないコレクションを使いたければ自分で実装するかgithubなどで拾ってくる必要があるのに、お前の顔見直せよ
457デフォルトの名無しさん
2022/07/25(月) 17:57:22.48ID:eESAVdRW458デフォルトの名無しさん
2022/07/25(月) 18:18:18.06ID:qMC/1j9+459デフォルトの名無しさん
2022/07/25(月) 18:57:52.01ID:xyOpOgqp Python代替を狙いたいなら、脳死スニペットコピペで、
Excelファイルが編集できて便利ね。くらいを目指さないと無理じね?
Excelファイルが編集できて便利ね。くらいを目指さないと無理じね?
460デフォルトの名無しさん
2022/07/25(月) 19:33:13.71ID:GF1rw+EH 自分で使わないならダメじゃん?
Rc。
Rc。
461デフォルトの名無しさん
2022/07/25(月) 19:37:10.91ID:GF1rw+EH だいたい、Haskell全然流行っていないじゃんか。
世界のすべてがHaskellに代わるんじゃなかったのかよ?
Rustが流行るとか言われてももう信じられんわ。
D言語だって全然流行らなかったし。
世界のすべてがHaskellに代わるんじゃなかったのかよ?
Rustが流行るとか言われてももう信じられんわ。
D言語だって全然流行らなかったし。
462デフォルトの名無しさん
2022/07/25(月) 19:48:55.75ID:GF1rw+EH 結局一番使える凄いやつはExcel VBAだと思うね。
一番役に立つじゃん。
一番役に立つじゃん。
463デフォルトの名無しさん
2022/07/25(月) 19:54:28.52ID:8fqJaMrc >>460
RcをRust標準ライブラリや多くの外部ライブラリが使っていない理由は、Rcがダメだからではなく、
Rcが対象とするシングルスレッド環境においては、所有者が複数となることがない、もしくは、避けられることが多いため。
使わなくてよい時は使わず、どうしてもRcを使う必要がある時のみ使う、という当たり前の行動の結果。
RcをRust標準ライブラリや多くの外部ライブラリが使っていない理由は、Rcがダメだからではなく、
Rcが対象とするシングルスレッド環境においては、所有者が複数となることがない、もしくは、避けられることが多いため。
使わなくてよい時は使わず、どうしてもRcを使う必要がある時のみ使う、という当たり前の行動の結果。
464デフォルトの名無しさん
2022/07/25(月) 19:55:45.54ID:GF1rw+EH 言い訳は要らないんだよ。
465デフォルトの名無しさん
2022/07/25(月) 19:56:57.83ID:GF1rw+EH RustよりGoのほうが速いじゃん。
466デフォルトの名無しさん
2022/07/25(月) 20:00:32.25ID:GF1rw+EH こんな遅いんだったらRustなんか使うんじゃなかったってみんな言ってるわ。
467デフォルトの名無しさん
2022/07/25(月) 20:06:54.34ID:AMmqdU+/ >>466
RustはC++よりも速い結果が出ることも多い中で何を言ってるんだ??
RustはC++よりも速い結果が出ることも多い中で何を言ってるんだ??
468デフォルトの名無しさん
2022/07/25(月) 20:08:53.16ID:cWo2MzNn >>449
延々と変なことを書いてるなとしか
延々と変なことを書いてるなとしか
469デフォルトの名無しさん
2022/07/25(月) 20:16:00.56ID:GF1rw+EH RustはHaskellの後継言語では?
口だけ番長みたいな。
口だけ番長みたいな。
470デフォルトの名無しさん
2022/07/25(月) 20:18:22.01ID:qMC/1j9+ 速い遅いは1bit的な100パーセントの保証ができないからね
逆に、変数の型を全く書かない、ゼロを保証するPythonのようなものは誠実な印象になる
逆に、変数の型を全く書かない、ゼロを保証するPythonのようなものは誠実な印象になる
471デフォルトの名無しさん
2022/07/25(月) 20:29:29.58ID:n2SYQgGe >>455
それ測定方法がおかしい
解いていないとはいえ、grepが一番速くて、次にwcが速くて、それらはC言語で書いたものより速くなっている
解いているシェルスクリプトですら1.83秒しかかかっておらず、Rubyの最適化版に至ってはシェルスクリプトより遅い結果となっている
最適化版のコードも一人が提供しただけであり、これでは意味がなかろう
その程度の課題でプログラミング言語間の時間比較に意味あるのか?
それ測定方法がおかしい
解いていないとはいえ、grepが一番速くて、次にwcが速くて、それらはC言語で書いたものより速くなっている
解いているシェルスクリプトですら1.83秒しかかかっておらず、Rubyの最適化版に至ってはシェルスクリプトより遅い結果となっている
最適化版のコードも一人が提供しただけであり、これでは意味がなかろう
その程度の課題でプログラミング言語間の時間比較に意味あるのか?
472デフォルトの名無しさん
2022/07/25(月) 20:30:15.46ID:8BHj2ErZ よく分からんけれど、CPythonに代わる速くて安全で効率の良いRustPythonを作るのが良いのではないだろうか?
473デフォルトの名無しさん
2022/07/25(月) 20:32:58.49ID:GF1rw+EH RustはPHPと変わらないじゃん。
PHP速いわー。
PHP速いわー。
474デフォルトの名無しさん
2022/07/25(月) 20:34:05.94ID:GF1rw+EH Haskellおっそ。
なんなんこれ。
12.81だって。
なんなんこれ。
12.81だって。
475デフォルトの名無しさん
2022/07/25(月) 20:38:25.47ID:GF1rw+EH 仮にも地球を代表するプログラマが遅い速いは時の運とか言っちゃだめだと思うわ。
476デフォルトの名無しさん
2022/07/25(月) 20:44:28.71ID:nBUvMOxq477デフォルトの名無しさん
2022/07/25(月) 20:47:52.05ID:GF1rw+EH こんだけ凝って、こんだけ遅いって、Rustの見事な性能の表れでしょ。
そりゃ誰も使いませんわ。
こんなの使ってたら宗教ですよ。
信徒ですよ。
そりゃ誰も使いませんわ。
こんなの使ってたら宗教ですよ。
信徒ですよ。
478デフォルトの名無しさん
2022/07/25(月) 20:52:51.88ID:GF1rw+EH はい、エビデンス出ましたー。
479デフォルトの名無しさん
2022/07/25(月) 20:56:02.00ID:aidYcMa/ >>476
ちょっとコードを見てみたけど両者でやっていることが異なるね
例えばGoのコードと異なりRustのコードはバッファ内をcopy_withinでコピーしていたりするなどGoにはないコードがあるような
ちょっとコードを見てみたけど両者でやっていることが異なるね
例えばGoのコードと異なりRustのコードはバッファ内をcopy_withinでコピーしていたりするなどGoにはないコードがあるような
480デフォルトの名無しさん
2022/07/25(月) 20:59:34.44ID:GF1rw+EH また言い訳が始まった。
481デフォルトの名無しさん
2022/07/25(月) 21:05:06.38ID:+hqW1c0q まだコードをよく見ていないが、
他のベンチマークではGoがいつも負けていて、
今回だけGoが勝っているのだから、
何か裏があると推測できる。
他のベンチマークではGoがいつも負けていて、
今回だけGoが勝っているのだから、
何か裏があると推測できる。
482デフォルトの名無しさん
2022/07/25(月) 21:07:28.31ID:GF1rw+EH トイプログラムやベンチマークではRustのほうが速いけど、こういう実用的なプログラムではGoのほうが速いってことじゃないの?
483デフォルトの名無しさん
2022/07/25(月) 21:08:19.44ID:X7PH+Zk7 もしデータが間違っているなら理屈と直感で判断すればいい
全ての情報源が正直者でなければ何もできないことを性善説という
全ての情報源が正直者でなければ何もできないことを性善説という
484デフォルトの名無しさん
2022/07/25(月) 21:09:45.71ID:GF1rw+EH 4Kb未満のデータはRustのほうが速いけど、
それ以上のデータでは、Goのほうが速いのでは?
それ以上のデータでは、Goのほうが速いのでは?
485デフォルトの名無しさん
2022/07/25(月) 21:11:43.19ID:GF1rw+EH わし、単体テストにベンチマークも入れてるよ?
486デフォルトの名無しさん
2022/07/25(月) 21:19:04.59ID:GF1rw+EH キャッシュを上手に使えるGoと、全く考慮しないRustの違いが出てるのでは?
487デフォルトの名無しさん
2022/07/25(月) 21:19:28.30ID:7b2W3YWe >>430
まずCのコードを読んだが特にトリッキーなことをしていないので
そのままRustに書き換えればいつものC→RustのようにRustでほぼCと同じ速さが出るだろうな
一方でそこに書かれているRustのコードはCの2倍近く遅くて普通にありえない結果となってるな
まずCのコードを読んだが特にトリッキーなことをしていないので
そのままRustに書き換えればいつものC→RustのようにRustでほぼCと同じ速さが出るだろうな
一方でそこに書かれているRustのコードはCの2倍近く遅くて普通にありえない結果となってるな
488デフォルトの名無しさん
2022/07/25(月) 21:21:31.99ID:GF1rw+EH また言い訳かよ。
負けたんだよ、Rustは。
負けたんだよ、Rustは。
489デフォルトの名無しさん
2022/07/25(月) 21:23:25.12ID:GF1rw+EH じゃあ、Rustにprogress_displayはあるのかよ?
490デフォルトの名無しさん
2022/07/25(月) 21:26:07.93ID:GF1rw+EH progress_display無かったら要らんわ。
しかも遅いし。
しかも遅いし。
491デフォルトの名無しさん
2022/07/25(月) 21:58:27.37ID:4KCQJPyi492デフォルトの名無しさん
2022/07/25(月) 22:00:37.54ID:SeYpjqPN >>430のベンチマークの方法とか見てたんだが
1. 時間はpythonのsubprocess.runで独立した試行を5回行っている。
2. 5回のうち最速のものを記録にしている。
だから、Javaみたいに起動時に重い言語は不利なのと、同じくらいの速度だと計算機の機嫌で順位が入れ替わりそう。
1. 時間はpythonのsubprocess.runで独立した試行を5回行っている。
2. 5回のうち最速のものを記録にしている。
だから、Javaみたいに起動時に重い言語は不利なのと、同じくらいの速度だと計算機の機嫌で順位が入れ替わりそう。
493デフォルトの名無しさん
2022/07/25(月) 22:03:54.64ID:GF1rw+EH Rustは糞遅いから入れ替わらない。
494デフォルトの名無しさん
2022/07/25(月) 22:06:10.72ID:krXhYbIy Juliaって愛される言語5位とかに入っていたけど、あんまり流行る気配ないよね
PythonからJulia主体にならんか
PythonからJulia主体にならんか
495デフォルトの名無しさん
2022/07/25(月) 22:06:51.57ID:FztPljLn あとRustのCっぽいバージョンは何に対してas fastなんだろう
496デフォルトの名無しさん
2022/07/25(月) 22:08:02.42ID:GF1rw+EH ちょっと検索してみたんだがGoは並行処理が得意らしいぞ。
俺の12900HX16コア24スレッドが有効に使えるのでは?
もしかして。
俺の12900HX16コア24スレッドが有効に使えるのでは?
もしかして。
497デフォルトの名無しさん
2022/07/25(月) 22:08:47.70ID:GF1rw+EH Cっぽくないバージョンに対してだろね。
498デフォルトの名無しさん
2022/07/25(月) 22:19:58.19ID:4KCQJPyi HashMapを高速なハッシュに変えたらRustの勝ち
解散
解散
499デフォルトの名無しさん
2022/07/25(月) 22:31:12.16ID:FztPljLn500デフォルトの名無しさん
2022/07/25(月) 22:51:30.63ID:m2kvc7p2 俺の環境だとRustの方が少しだけ速かったな
バージョンアップで多少改善されたのかも。誤差程度だけど
バージョンアップで多少改善されたのかも。誤差程度だけど
501デフォルトの名無しさん
2022/07/25(月) 22:53:16.38ID:7b2W3YWe >>499
(衝突攻撃安全性に優れるが遅い)Rust標準ライブラリのHashMapよりも
今回は(Rustコンパイラ等でも使われている)速いfxhashを使った方が良いとのアドバイスがあっただけで
実際に使っているコードはHashMapのままになってるような
(衝突攻撃安全性に優れるが遅い)Rust標準ライブラリのHashMapよりも
今回は(Rustコンパイラ等でも使われている)速いfxhashを使った方が良いとのアドバイスがあっただけで
実際に使っているコードはHashMapのままになってるような
502デフォルトの名無しさん
2022/07/25(月) 23:18:27.95ID:SeYpjqPN >>501
optimizedのmain.rsは
use fxhash::{FxHashMap as HashMap};
となってるんだけど
これはfxhashを使って高速化してるわけではない?
それともベンチマークに反映してないのか?
optimizedのmain.rsは
use fxhash::{FxHashMap as HashMap};
となってるんだけど
これはfxhashを使って高速化してるわけではない?
それともベンチマークに反映してないのか?
503デフォルトの名無しさん
2022/07/26(火) 00:27:41.06ID:6K/UlhEh >>472
つ Nim
つ Nim
504デフォルトの名無しさん
2022/07/26(火) 00:30:04.25ID:6K/UlhEh505デフォルトの名無しさん
2022/07/26(火) 00:33:32.10ID:7eeTS5R1 Rustがこんなに遅いとは知らんかった。
506デフォルトの名無しさん
2022/07/26(火) 01:36:48.26ID:gGUkeHRo いつものやつ貼っておくか
https://benchmarksgame-team.pages.debian.net/benchmarksgame/box-plot-summary-charts.html
ChapelとJuliaすごいじゃん
https://benchmarksgame-team.pages.debian.net/benchmarksgame/box-plot-summary-charts.html
ChapelとJuliaすごいじゃん
507デフォルトの名無しさん
2022/07/26(火) 05:00:13.51ID:O8zJADrT ワードカウントの結果だけで性能評価してしまうプログラマがいるんですか!?
508デフォルトの名無しさん
2022/07/26(火) 08:14:27.14ID:sEULh4Zl509デフォルトの名無しさん
2022/07/26(火) 08:27:06.16ID:B/e7/0Va Rustのコードがおかしいと言うなら、改善したコード出せばいいんじゃない?
ワードカウントじゃ言語の性能はわからないとか言うんだったら、Rust有利なベンチマーク作ればいいんじゃない?
Rust簡単とか言っているやつなら余裕だろ。
ワードカウントじゃ言語の性能はわからないとか言うんだったら、Rust有利なベンチマーク作ればいいんじゃない?
Rust簡単とか言っているやつなら余裕だろ。
510デフォルトの名無しさん
2022/07/26(火) 08:44:40.79ID:/siOCA+g 批判されていることは「性能が悪い」というより「コストの割には性能が微妙」というニュアンスなので
コードを一行も書かないことがコスト最小なんだよ
コストの話をするとコードを書く奴がいなくなる
コードを一行も書かないことがコスト最小なんだよ
コストの話をするとコードを書く奴がいなくなる
511デフォルトの名無しさん
2022/07/26(火) 10:02:50.90ID:dWbaeKdQ 高級機能があってランタイム最強!っていう厨二病的なモチベーションだからほっとけばいいんだよ。
そのうち気づくし、気づかなくても知ったこっちゃない。
そのうち気づくし、気づかなくても知ったこっちゃない。
512デフォルトの名無しさん
2022/07/26(火) 10:11:09.19ID:cX/Q+77r513デフォルトの名無しさん
2022/07/26(火) 10:29:35.69ID:NhFYQzcJ Rust遅すぎじゃね?
https://res.cloudinary.com/practicaldev/image/fetch/s--n3XlUkmN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cqj6u280qmdwq7fgnw5h.png
https://res.cloudinary.com/practicaldev/image/fetch/s--n3XlUkmN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cqj6u280qmdwq7fgnw5h.png
514デフォルトの名無しさん
2022/07/26(火) 10:43:17.89ID:/siOCA+g RAIIだけの問題ならGoは使わない方がよさそう
C++だけで書いてexitとabortを比較とかすればいいのでは
C++だけで書いてexitとabortを比較とかすればいいのでは
515デフォルトの名無しさん
2022/07/26(火) 11:52:47.41ID:gfJAfx82 RAIIはメモリ解放タイミングが決定的なのがスッとするんよ
ガベコレの場合に開放を保留しておいて
プログラムの終了がすぐだから個別の開放はしないってときは
そりゃかえってガベコレ方式のほうがメモリ関係の全体コスト少なくてもおかしくない
ガベコレの場合に開放を保留しておいて
プログラムの終了がすぐだから個別の開放はしないってときは
そりゃかえってガベコレ方式のほうがメモリ関係の全体コスト少なくてもおかしくない
516デフォルトの名無しさん
2022/07/26(火) 12:04:42.36ID:04PZVssu CPUバウンドでも対してGoと変わらないことがあるんだから
IOバウンドの用途でRustを使うメリットなんて皆無
メモリ効率ガーGCガーとかクソどうでもいい
OS開発とか組み込みとかなら重要なんだろうけど
IOバウンドの用途でRustを使うメリットなんて皆無
メモリ効率ガーGCガーとかクソどうでもいい
OS開発とか組み込みとかなら重要なんだろうけど
517デフォルトの名無しさん
2022/07/26(火) 12:08:48.07ID:DIb0h0GI >>516
組み込みはC/C++の独壇場なのだから、ここにRustが入ればより良い製品が増えるだろ
組み込みはC/C++の独壇場なのだから、ここにRustが入ればより良い製品が増えるだろ
518デフォルトの名無しさん
2022/07/26(火) 12:14:19.45ID:m36KkBXx CPUバウンドだったとしても実装に使ったアルゴリズムで劣ってればそりゃRustやCでも余裕で負けるだろう
519デフォルトの名無しさん
2022/07/26(火) 12:18:31.42ID:MxJrqhMY そもそも非最適化版でベンチマーク比較する意味ねーだろ、デバッグ中や開発中でもねーのに。
520デフォルトの名無しさん
2022/07/26(火) 12:21:17.66ID:kU0OGDST >>519
そういう意味の非最適化じゃねーから
そういう意味の非最適化じゃねーから
521デフォルトの名無しさん
2022/07/26(火) 12:56:48.38ID:cX/Q+77r >>519
Rustの "Zero Overhead Abstruction" を活用した結果遅くなったということだ
Rustの "Zero Overhead Abstruction" を活用した結果遅くなったということだ
522デフォルトの名無しさん
2022/07/26(火) 16:33:28.70ID:gGUkeHRo プロファイルとって分析した上で遅い原因について語ってるの?ただの憶測?
523デフォルトの名無しさん
2022/07/26(火) 16:41:00.17ID:lSrKh9WN 昔あったc++よりc#の方が速いケースがあるみたいなどうでもいい内容に思えるけど
524デフォルトの名無しさん
2022/07/26(火) 16:51:02.98ID:g3j+kypL >>523
dotnetの方がCPUに対して最適化された命令セットにできるってのはまああり得るっちゃあり得るよね
dotnetの方がCPUに対して最適化された命令セットにできるってのはまああり得るっちゃあり得るよね
525デフォルトの名無しさん
2022/07/26(火) 16:57:23.19ID:m36KkBXx 命令セット?
C++のコンパイラがクソい命令セットを使うことがあり得る、って話?
そりゃ処理系によってはそうだろうけど
C++のコンパイラがクソい命令セットを使うことがあり得る、って話?
そりゃ処理系によってはそうだろうけど
526デフォルトの名無しさん
2022/07/26(火) 17:06:31.29ID:IrL7txwd NTTグループで7月から3万人が原則テレワークに、遠方からの飛行機出社もOK
NTTグループは、従業員の勤務形態を原則としてテレワークとする新制度を
2022年7月1日から導入する。まず持ち株会社のNTTやNTT東日本、NTT西日本、
NTTドコモ、NTTデータなどの主要会社から導入する。当初は約3万人を対象とする。
テレワークを原則とする部署は各社で決める。
まずは人事や総務といった間接部門や企画、システム開発などテレワークに
向く部署が対象となる見込みだ。新制度では、従業員の居住地の制限もなくす。
従来は「通勤時間が2時間程度」という制限があったが、国内のどこにでも
居住して勤務できるようになる。出社が必要な場合は、出張扱いとして航空機を
利用した出社も認める。日付をまたぐ場合は、宿泊費も会社が負担する。
NTTグループは、従業員の勤務形態を原則としてテレワークとする新制度を
2022年7月1日から導入する。まず持ち株会社のNTTやNTT東日本、NTT西日本、
NTTドコモ、NTTデータなどの主要会社から導入する。当初は約3万人を対象とする。
テレワークを原則とする部署は各社で決める。
まずは人事や総務といった間接部門や企画、システム開発などテレワークに
向く部署が対象となる見込みだ。新制度では、従業員の居住地の制限もなくす。
従来は「通勤時間が2時間程度」という制限があったが、国内のどこにでも
居住して勤務できるようになる。出社が必要な場合は、出張扱いとして航空機を
利用した出社も認める。日付をまたぐ場合は、宿泊費も会社が負担する。
527デフォルトの名無しさん
2022/07/26(火) 18:18:56.01ID:sEULh4Zl >>525
AMDとIntelの違いや世代でも違うし、同じ命令でも特性が違ったりするんじゃね?
AMDとIntelの違いや世代でも違うし、同じ命令でも特性が違ったりするんじゃね?
528デフォルトの名無しさん
2022/07/26(火) 18:26:22.14ID:/siOCA+g 仮にそれが原因だったとして
その実験データって再現性とかあるんですか
その実験データって再現性とかあるんですか
529デフォルトの名無しさん
2022/07/26(火) 18:54:20.86ID:lSrKh9WN twiterでMSX3と言うのが流れてきた
このハードで勝負だ!とはならんなあw
このハードで勝負だ!とはならんなあw
530デフォルトの名無しさん
2022/07/26(火) 19:09:11.50ID:gd/liWqB countwordsを試してみたけど
optimizedで速い順にC > Rust > Go > Nim
(比率 1 : 1.69 : 2.03 : 3.42)
simpleは Nim > Go > C > Rust
(比率 1 : 1.09 : 1.22 : 1.38)
simpleでRustが遅いのはUTF-8チェックとhash関数の遅さと考えれば納得できる範囲かな
ZigやC++はコンパイルエラーになったから除いた
optimizedで速い順にC > Rust > Go > Nim
(比率 1 : 1.69 : 2.03 : 3.42)
simpleは Nim > Go > C > Rust
(比率 1 : 1.09 : 1.22 : 1.38)
simpleでRustが遅いのはUTF-8チェックとhash関数の遅さと考えれば納得できる範囲かな
ZigやC++はコンパイルエラーになったから除いた
531デフォルトの名無しさん
2022/07/26(火) 19:15:29.79ID:lSrKh9WN Nimは毎回インストールするけどwindowsが警告が出すんだよな
防疫して一部のファイル消したりしていじわるしてくる
防疫して一部のファイル消したりしていじわるしてくる
532デフォルトの名無しさん
2022/07/26(火) 20:25:55.51ID:GQvz79KS 意地悪というよりイジメじゃん。
慰謝料、億とれるよ。
慰謝料、億とれるよ。
533デフォルトの名無しさん
2022/07/26(火) 20:39:29.27ID:GQvz79KS RustはC/C++にダブルスコアで負けてるじゃん。
534デフォルトの名無しさん
2022/07/26(火) 20:45:27.29ID:m36KkBXx イジメはイジメられるほうに原因がある
いじめられる側が悪い
いじめられる側が悪い
535デフォルトの名無しさん
2022/07/26(火) 21:21:03.08ID:ceC8PDvA cは単語ごとに細切れで確保
item.key = strdup(word); // simple.c
char* word_copy = malloc(word_len); // optimized.c
するんじゃなくてこっちもwordコピー用の領域をおっきく取っておいて
そっちをちまちま端から使っていってみたいけど
item.key = strdup(word); // simple.c
char* word_copy = malloc(word_len); // optimized.c
するんじゃなくてこっちもwordコピー用の領域をおっきく取っておいて
そっちをちまちま端から使っていってみたいけど
536デフォルトの名無しさん
2022/07/26(火) 21:48:16.70ID:/siOCA+g プログラミングでは原因と結果というより命令と実行という方がわかりやすい
命令する側が生殺与奪の権を握っている事実が
命令する側が生殺与奪の権を握っている事実が
537デフォルトの名無しさん
2022/07/26(火) 22:00:26.74ID://WUsWcW とりあえずこんなもん
Language | Simple | Optimized | Notes
------------- | ------ | --------- | -----
`grep` | 0.15 | 0.15 | `grep` baseline; optimized sets `LC_ALL=C`
`wc -w` | 1.20 | 0.99 | `wc` baseline; optimized sets `LC_ALL=C`
C | 3.34 | 0.93 |
Go | 3.38 | 1.30 |
Rust | 3.69 | 1.40 | by Andrew Gallant
Rust-fixhm | 3.25 | | by Andrew Gallant
Rust-buf | | 1.31 | by Andrew Gallant
Rust-unsafe | | 1.18 | by Andrew Gallant
Rust-customhm | | 0.98 | by Andrew Gallant
Python | 12.15 | 5.27 |
Rustは懸念点が多いのでいくつかやった。
-fixhmがハッシュマップを速いものに切り替えたやつ、-bufが標準出力にバッファが噛んでなかったのを直したやつ、-unsafeと-customhmが同梱されてたより高速なやつ。
こうしてみるとRustは標準ライブラリが生っぽかったりセキュリティのために性能を犠牲にしたりとちぐはぐな感じがあるな。
Language | Simple | Optimized | Notes
------------- | ------ | --------- | -----
`grep` | 0.15 | 0.15 | `grep` baseline; optimized sets `LC_ALL=C`
`wc -w` | 1.20 | 0.99 | `wc` baseline; optimized sets `LC_ALL=C`
C | 3.34 | 0.93 |
Go | 3.38 | 1.30 |
Rust | 3.69 | 1.40 | by Andrew Gallant
Rust-fixhm | 3.25 | | by Andrew Gallant
Rust-buf | | 1.31 | by Andrew Gallant
Rust-unsafe | | 1.18 | by Andrew Gallant
Rust-customhm | | 0.98 | by Andrew Gallant
Python | 12.15 | 5.27 |
Rustは懸念点が多いのでいくつかやった。
-fixhmがハッシュマップを速いものに切り替えたやつ、-bufが標準出力にバッファが噛んでなかったのを直したやつ、-unsafeと-customhmが同梱されてたより高速なやつ。
こうしてみるとRustは標準ライブラリが生っぽかったりセキュリティのために性能を犠牲にしたりとちぐはぐな感じがあるな。
538デフォルトの名無しさん
2022/07/26(火) 23:12:57.71ID:gsmRiHCH >>531
Nim言語はマルウェアを作る人達に使われているらしい。
アンチウィルスソフトは単純なパターンマッチングで動いているから、
悪いことしないNimのコードでもマルウェアだと誤検出されてしまうらしい。
Nim言語はマルウェアを作る人達に使われているらしい。
アンチウィルスソフトは単純なパターンマッチングで動いているから、
悪いことしないNimのコードでもマルウェアだと誤検出されてしまうらしい。
539デフォルトの名無しさん
2022/07/27(水) 00:56:57.97ID:DVht3D3b >>537
これgrepが一番速いけどagとかripgrepだとどうなるの?
これgrepが一番速いけどagとかripgrepだとどうなるの?
540デフォルトの名無しさん
2022/07/27(水) 01:28:29.17ID:9E9DYfCO Cで書かれたgrepより、Goで書かれたptのほうが早いし高機能だよ
541デフォルトの名無しさん
2022/07/27(水) 01:34:47.64ID:mzblDH8U まあぶっちゃけ他の言語でもgrepと同じように
trieみたいな文字列処理用のアルゴリズム使えば速度はだいぶ変わると思うけどね
なんで泥臭い処理を書いてるのか
そりゃgrepが1番早いだろと
trieみたいな文字列処理用のアルゴリズム使えば速度はだいぶ変わると思うけどね
なんで泥臭い処理を書いてるのか
そりゃgrepが1番早いだろと
542デフォルトの名無しさん
2022/07/27(水) 02:00:24.66ID:mzblDH8U 言語の速度を比較するというのならアルゴリズムは揃えるべき
でないと何が何やらわからない
でないと何が何やらわからない
543デフォルトの名無しさん
2022/07/27(水) 02:42:12.43ID:RFLOe/ZA grepは`grep foobar`を実行してファイルをなめてるだけだぞ
544デフォルトの名無しさん
2022/07/27(水) 04:04:05.75ID:ogiMaWw7 RustコンパイラはC++で書かれている。
545デフォルトの名無しさん
2022/07/27(水) 04:20:50.92ID:0dTQJF2a NimコンパイラはNimで書かれている。
けどgccだけからNimコンパイラをビルドできるようにするためにNimのコンパイラのソースコードをC言語に変換したもの(csources_v1)がある。
けどgccだけからNimコンパイラをビルドできるようにするためにNimのコンパイラのソースコードをC言語に変換したもの(csources_v1)がある。
546デフォルトの名無しさん
2022/07/27(水) 06:50:28.42ID:mzblDH8U >>543
だからgrepのアルゴリズムのことだよ
だからgrepのアルゴリズムのことだよ
547デフォルトの名無しさん
2022/07/27(水) 06:50:42.76ID:mzblDH8U >>544
あの、rustで書かれてます
あの、rustで書かれてます
548デフォルトの名無しさん
2022/07/27(水) 08:43:02.13ID:jeHuuvJh 毎月のようにバージョンアップしろと言ってくるこの原因はメモリ解放ミス?
Chrome version 103 脆弱性
[重要]CVE-2022-2477 : Guest View解放後の使用による問題
[重要]CVE-2022-2478 : PDF解放後の使用による問題
[重要]CVE-2022-2480 : Service Worker API解放後の使用による問題
[重要]CVE-2022-2481: Views解放後の使用による問題
Chrome version 103 脆弱性
[重要]CVE-2022-2477 : Guest View解放後の使用による問題
[重要]CVE-2022-2478 : PDF解放後の使用による問題
[重要]CVE-2022-2480 : Service Worker API解放後の使用による問題
[重要]CVE-2022-2481: Views解放後の使用による問題
549デフォルトの名無しさん
2022/07/27(水) 09:03:50.25ID:xJ8anoa4 >>546
アルゴリズム以前にやってる事が違うだろ...
アルゴリズム以前にやってる事が違うだろ...
550デフォルトの名無しさん
2022/07/27(水) 10:01:21.94ID:+1BW8lNB >>548
解放のミスというより参照のミス(エスケープ)だね
解放のミスというより参照のミス(エスケープ)だね
551デフォルトの名無しさん
2022/07/27(水) 10:53:41.19ID:eJc+JUck >>548
Rustへ移行すればそういうバグはコンパイル時にエラーとなるため確実に防げる
Rustへ移行すればそういうバグはコンパイル時にエラーとなるため確実に防げる
552デフォルトの名無しさん
2022/07/27(水) 10:56:48.68ID:BnCx/rjI >>541
grepはBoyer-Mooreでトライ木は使わない
Rustでハッシュベースの辞書の代わりにトライ木使ってるバージョンがあってそっちの方が多少速かったけどアルゴリズム的に優れてるというよりは対象データ依存
grepはBoyer-Mooreでトライ木は使わない
Rustでハッシュベースの辞書の代わりにトライ木使ってるバージョンがあってそっちの方が多少速かったけどアルゴリズム的に優れてるというよりは対象データ依存
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【子ども・子育て支援金】来年4月から徴収、月収50万円なら月600円程度…健保連試算 [蚤の市★]
- 【芸能】田中みな実 年始に実家に泊まらない理由明かす 「終わった感じがしちゃう。早く港区に戻らなきゃみたいな」 [冬月記者★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」★4 [ぐれ★]
- 【(・(ェ)・)】駆除数17倍、クマ1頭の焼却に灯油100㍑で今季7000㍑以上使用した施設も…処理に追われる自治体 [ぐれ★]
- なぜ立花孝志氏の言葉は信じられたのか…"異例の逮捕"が浮き彫りにした「SNSの危険な病理」 ★2 [ぐれ★]
- 「加熱式たばこ」の受動喫煙、「紙巻き」同様の対策強化を検討へ…厚労省の専門委が議論スタート [蚤の市★]
- 【外交の高市】高市さん、G20では各国首脳など18人と会話。尾崎官房副長官「高市さんと接触したいと多くの方々が思っている」 [519511584]
- 【悲報】高校ラグビー、マジで終わる… 強豪校ですら部員集まらず廃部へ この国の若者ってほんとトライしなくなったよな [452836546]
- 【速報】高市早苗、G20サミット”社長出勤” [614650719]
- 【📛専】とうふさんすこすこ😊👎スレッド【とうふゲームズ🏡】
- 【速報】高市、今度はロシアに喧嘩を売る [329271814]
- 竹中平蔵氏、万博を批判していた人たちにチクリ「反省の弁聞きたい」 [686538148]
