次世代言語26 TypeScript Swift Go Kotlin Nim

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2022/06/21(火) 09:27:46.30ID:5vOFCGpG
スレタイ(順番はRedMonk準拠)以外の言語もok

※ Rustは現世代最強言語なので除外します

前スレ

次世代言語25 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1650185555/

0952デフォルトの名無しさん2022/08/02(火) 22:18:46.88ID:3Auutz71
CRTPでおk。

0953デフォルトの名無しさん2022/08/02(火) 22:24:30.00ID:+AA3LPDF
次スレのスレタイはNim Zig Pony Carbon Gleamあたりでいいっすか?

0954デフォルトの名無しさん2022/08/02(火) 22:40:59.73ID:A0k69qij
>>945
それ本気で言ってたら笑われる
Valgrind使って実行時にエラー検出と
Rustでコンパイル時にエラー検出の
現在どちらをとるべきか100%答えは出ている

RustでValgrindを使うことも稀にあるが
大半がC/C++とのFFIがらみでありC/C++が足を引っ張っている

0955デフォルトの名無しさん2022/08/02(火) 23:38:50.10ID:yShK5RND
>>953
ウィ

0956デフォルトの名無しさん2022/08/02(火) 23:51:57.52ID:zk210DB0
>>948
だってRustってめっちゃ遅いから

0957デフォルトの名無しさん2022/08/02(火) 23:58:05.26ID:zaqp+NKw
RustならCとほとんど変わらない最高速
開発効率も上がる

0958デフォルトの名無しさん2022/08/03(水) 07:24:58.64ID:EBW1aqTx
んなわけない。

0959デフォルトの名無しさん2022/08/04(木) 06:52:08.63ID:hgV/iHpj
Rust保守できなくて他の言語に書き直す案件多すぎじゃね?

0960デフォルトの名無しさん2022/08/04(木) 07:38:09.36ID:YMWE04jW
>>959
具体的には?
多すぎと言うならサクッと10件くらい上げてくれるかな

0961デフォルトの名無しさん2022/08/04(木) 08:27:29.63ID:czcxYRnn
貶めたいだけだから、あげられないと思う

0962デフォルトの名無しさん2022/08/04(木) 09:05:31.59ID:MbWp6BMN
>>959
言語に対してアンチ活動をしているだけでも異常だが
嘘まで突き出すのは精神異常を疑う

0963デフォルトの名無しさん2022/08/04(木) 09:35:45.18ID:jqJhSpad
>>960
すみません、嘘いいいました

0964デフォルトの名無しさん2022/08/04(木) 09:44:49.51ID:hgV/iHpj

0965デフォルトの名無しさん2022/08/04(木) 09:53:00.83ID:YMWE04jW
>>964
どう見てもrustからの移植よりrustへの移植の話の方が多くないか?

0966デフォルトの名無しさん2022/08/04(木) 10:33:52.33ID:qcYVxnZx
今まで長年色々と携わってきた一般的な話として
移植するほど価値のあるものは滅多にないのと
同じ物を長く使い続けるよりある段階で設計から作り直した方が効率が良いのと
その時は古い言語を引きずらずにRustやKotlinやSwiftなど改善された良い言語を採用した方が効率良い

0967デフォルトの名無しさん2022/08/04(木) 10:54:52.94ID:GwRVgwm4
でもRustを使えばメモリは安心安全だよ

0968デフォルトの名無しさん2022/08/04(木) 11:32:27.68ID:hgV/iHpj
移植と逆移植の需要が噛み合って無限の雇用を創出するわけだ

0969デフォルトの名無しさん2022/08/04(木) 12:34:53.02ID:rpL8+iTc
>>965
既存コードの数が違うんだから当然だろ。

0970デフォルトの名無しさん2022/08/04(木) 13:00:46.06ID:pLEfRi/j
保守できなくて書き直しで言うと JS/TypeScript 界隈が深刻なんじゃねえの?
未成熟なモジュールシステム、幅広い要件、多彩すぎる処理系、本来の目的と違う使い方をされるView層(DOM)、流行りの影響を受けやすいドメイン。初学者に人気がある。

まぁ、言語側で頑張れることも限界があるけど…。

0971デフォルトの名無しさん2022/08/04(木) 13:17:32.31ID:YMWE04jW
>>969
それはそうだが
> Rust保守できなくて他の言語に書き直す案件多すぎじゃね?
って吠えてた人がいるからもっとあるのかと思ったら意外にショボくてワロタ
よくこんなものをドヤ顔で出せるもんだなw

0972デフォルトの名無しさん2022/08/04(木) 20:50:36.26ID:+PIU9Mos
でもPHPの方が速いよね

0973デフォルトの名無しさん2022/08/04(木) 20:54:22.20ID:9TNfUmNd
npmは反面教師としてめちゃくちゃ活躍した
後発のパッケージツールはみんな参考にしてる

0974デフォルトの名無しさん2022/08/04(木) 22:46:04.19ID:RbD+Gsia
プロジェクト毎に切り替えてインストールする、

Ruby のBundler を真似て、npm/yarn が出来た

0975デフォルトの名無しさん2022/08/04(木) 23:00:37.24ID:mEx9pPO3
何さらっと嘘言っているんだよw
パッケージ管理ツールなんて昔からあるのに

0976デフォルトの名無しさん2022/08/05(金) 07:34:10.27ID:BZGh0CoX
Time in seconds for each data size: kjvbible.txt
x10 x100 x200 x400 Mem Comment

0.018 0.052 0.089 0.174 ***MB baseline/cat
0.036 0.089 0.147 0.260 ***MB baseline/rg foobar (ripgrep, no match)
0.032 0.091 0.159 0.290 ***MB baseline/ugrep foobar (no match)
0.058 0.457 0.889 1.789 1.1MB baseline/grep foobar (no match)
0.219 2.108 4.127 8.263 0.9MB baseline/wc -w (word count, total only)

0.154 1.271 2.551 5.079 2.0MB C (caller hash,stdin=binary-mode)
0.177 1.412 2.733 5.446 3.8MB Go (caller hash)
0.161 1.458 2.903 5.671 1.4MB C++ (caller hash,cin=binary-mode)
0.175 1.513 2.953 5.863 4.6MB Zig @github fixed
0.176 1.572 3.124 6.045 2.6MB Rust@github rust/optimized-customhashmap
0.180 1.597 3.219 6.267 3.1MB Rust@5ch res >>602
Ryzen9 5900X windows11

09779762022/08/05(金) 07:37:51.09ID:BZGh0CoX
データサイズを大きくしたら結構景色が変わったよ
もともとのサイズは左端のx10ね

09789762022/08/05(金) 07:44:17.90ID:BZGh0CoX
caller hashはoptimized.cと同じようにメインループでhash計算を済ませておいてhashテーブル関数に渡す用にしたもの
これ結構効果的だった

0979デフォルトの名無しさん2022/08/05(金) 07:49:10.83ID:WXp5Dd4L
こちらでもGoがC++やRustよりも遅い結果しか出ないのだが
GoがC++やRustよりも速い結果になる人は何が違うのだろう?バージョン?CPU?計測方法?
GoがC++やRustより速くなるのは他でも見かけないから何らか別の理由があるはず

09809762022/08/05(金) 07:50:28.70ID:BZGh0CoX
rustはよくわからないので、caller hash版は大先生にお願いしたいです

Mem:
メモリ使用量はタスクマネージャーでの表示です。cat/rg/ugrepは早すぎて見えませんでした
x10~x400で違いはなかったです

0981デフォルトの名無しさん2022/08/05(金) 07:54:28.24ID:WXp5Dd4L
>>978
それは専用プログラムでない限りプログラミングでやってはいけない行為
単語を渡すだけのインタフェースになっているべきであり、その利用側はハッシュ関数が何かを知ってはいけない
さらに、そのような逸脱した最適化アルゴリズムを特定の言語にだけ適用しても、言語間の比較とならない

0982デフォルトの名無しさん2022/08/05(金) 07:58:44.14ID:Zs6c3yJt
次世代言語27 Nim Zig Rust Carbon

0983デフォルトの名無しさん2022/08/05(金) 08:03:18.30ID:caRFuKmx
要はアルゴリズムが大事で言語の差異はスクリプト言語でもない限りどうでもいいってことだろ
もうこの話は終わりでいいよ

0984デフォルトの名無しさん2022/08/05(金) 08:06:44.88ID:8m5I520h
アルゴリズムが同じならばGoが常に遅い
なので今回GoはイカサマをしたらC++/Rustより速くなったという話

0985デフォルトの名無しさん2022/08/05(金) 08:12:34.92ID:caRFuKmx
Goはパラレル版もリポジトリに置いてあるけど当然そっちの方がRustより早いぞ
Rustも並列処理すれば速いんだろうけど

ということで大事なのはアルゴリズムで言語差はわりとどうでもいいね
Rustがアピールするべきなのはパフォーマンスというよりは低ランタイムコストでメモリ安全ってとこじゃないの
当然コストが高いわけでそれに見合うほどのパフォーマンスが必ずしも得られるわけではない

パフォーマンスを改善するには言語を変えて作り直すより、アルゴリズムを改善したり、並行並列処理に切り替えたりする方が効果的

0986デフォルトの名無しさん2022/08/05(金) 08:15:37.58ID:brBAgkMt
その0.1秒で終わる処理ですら同じ条件ならばGoが遅いけど 
現実にはサーバーからアプリまでそれよりはるかに長い時間使われる
そしてGCが何度も起こりGoの遅さが致命的になる

0987デフォルトの名無しさん2022/08/05(金) 08:17:56.43ID:m/sE4zJr
>>986
それはあなたの感想では?
GOがエスケープ解析しない根拠は?
>そしてGCが何度も起こり

0988デフォルトの名無しさん2022/08/05(金) 08:18:55.11ID:caRFuKmx
次スレはワッチョイありで立ててくれ
Rust盲信者がIDころころ変えるので

0989デフォルトの名無しさん2022/08/05(金) 08:25:55.99ID:H5hHfEm1
>>984
どこがイカサマ?Cと比較するために最適化しただけなのでは?
それがイカサマなら標準のハッシュが遅いからライブラリ使ってんのもイカサマだよね?

0990デフォルトの名無しさん2022/08/05(金) 08:29:18.89ID:w1fJ4NWZ
元のGoブログの人を含めて全員おかしい
アルゴリズムを揃えないベンチマークは何も意味を持たない

0991デフォルトの名無しさん2022/08/05(金) 08:56:59.64ID:T6EdcM/7
>>982
rustはもう外せよ

0992デフォルトの名無しさん2022/08/05(金) 09:25:07.37ID:caRFuKmx
そんなにRustがあらゆるプログラムでパフォーマンス、生産性が優れているなら
なんで頭のいいエンジニア達はわざわざRustを使ってDenoっていうランタイム作ってんの???

GCがあるとRust狂信者によるとWebサーバーでもクリティカルに影響が出てしまうらしいけど

なんでGCのないRustで狂信者曰くあらゆる面でゴミなGCありのDeno作ってんのよ

0993デフォルトの名無しさん2022/08/05(金) 09:40:18.52ID:h+76NvX5
>>978
その通りだがその時点でこのベンチマークが現実離れした意味のないものであることを意味している
以前から指摘が出ているように、このベンチマークの実行時間のほとんどは単語カウントに費やされていて、だからこそそのハッシュ計算のオプティマイズで大きく改善される
この筋の悪いベンチマークをどうしても行なうならば、最低限アルゴリズムとテーブルサイズなど条件を揃えるべき
現状では意味のない比較となっている

0994デフォルトの名無しさん2022/08/05(金) 09:43:12.76ID:/hLfNpmA
次スレ

次世代言語27 Nim Zig Pony Carbon Gleam
https://mevius.5ch.net/test/read.cgi/tech/1659660050/

0995デフォルトの名無しさん2022/08/05(金) 09:45:30.76ID:oRWix6dW
>>992
CやC++を使ってなぜ様々な遅い言語のコンパイラやインタプリタを作っているのか?と同じ話ではないか
それに気付かない君の頭の悪さを嘆こう

0996デフォルトの名無しさん2022/08/05(金) 09:48:57.07ID:AYAQMvzY
【次スレ】
次世代言語27 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1659655598/

【前スレ】
次世代言語25 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1650185555/

0997デフォルトの名無しさん2022/08/05(金) 09:49:10.13ID:dkIhDSME
全ての証言を信じれば矛盾する
なぜかといえば自白強要や誘導尋問から生み出される証言もあるから

0998デフォルトの名無しさん2022/08/05(金) 10:18:49.46ID:Zpgmgnev
>>985
>当然コストが高いわけでそれに見合うほどのパフォーマンスが必ずしも得られるわけではない
ここで言うコストとは何のこと?

0999デフォルトの名無しさん2022/08/05(金) 11:53:10.74ID:GYd+Bl11
全く同じアルゴリズムで比較するべきとか言い出すならそもそもこんな複雑なタスクでベンチマークするのがおかしい
もっと簡単なタスクをいろいろ用意してそれぞれでベンチマーク比較したほうがいい

1000デフォルトの名無しさん2022/08/05(金) 12:02:08.53ID:/hLfNpmA
どうすべきかなんて目的次第ですよ

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 45日 2時間 34分 22秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。