Hello hackers !
Qiitaは、エンジニアリングに関する知識を記録・共有するためのサービスです。
コードを書いていて気づいたことや、自分がハマったあの仕様について、
他のエンジニアと知見を共有しましょう ;)
https://qiita.com/
Qiita(キータ)は、Incrementsが運営するプログラミング情報のナレッジコミュニティ。
2016年現在で日本最大のプログラマーコミュニティとされている[1]。
https://internet.watch.impress.co.jp/docs/news/1025972.html
前スレ Qiita
https://mevius.5ch.net/test/read.cgi/tech/1542357242/
Qiita 2 - キータぞ、来たぞ、キータだぞー
https://mevius.5ch.net/test/read.cgi/tech/1658762410/
探検
Qiita 3 - キータぞ、来たぞ、キータだぞー
■ このスレッドは過去ログ倉庫に格納されています
2023/05/28(日) 09:56:01.47ID:twg6yDS4
717デフォルトの名無しさん
2023/12/10(日) 21:03:13.50ID:sajOyEd/ まだ昔の話しかどうかもわからない貧相な脳ミソ
まだ条件(省略)をまともに把握できない貧相な脳ミソかわいそうw
ついでに日本語もまともに理解できないと
まだ条件(省略)をまともに把握できない貧相な脳ミソかわいそうw
ついでに日本語もまともに理解できないと
718デフォルトの名無しさん
2023/12/10(日) 23:48:37.12ID:otdxVCuX ラジアン派の発狂ぶりが見ていて楽しいなw
719デフォルトの名無しさん
2023/12/11(月) 00:43:41.12ID:dv5wJdGz720デフォルトの名無しさん
2023/12/11(月) 20:12:45.71ID:wJWh5kBz AtCoder Beginner Contest 332 A Online Shopping を Elixir と C で解いてみた
https://qiita.com/zacky1972/items/61f8dcefc71cb6d0117b
准教授 inttypes.h 知らないとかマジか。
64bitでコンパイル、実行
https://godbolt.org/z/Y1nv549cE
32bitでコンパイル、実行
https://godbolt.org/z/6jEYGhrnG
https://qiita.com/zacky1972/items/61f8dcefc71cb6d0117b
准教授 inttypes.h 知らないとかマジか。
64bitでコンパイル、実行
https://godbolt.org/z/Y1nv549cE
32bitでコンパイル、実行
https://godbolt.org/z/6jEYGhrnG
721デフォルトの名無しさん
2023/12/11(月) 22:35:20.73ID:qiG2trvi 度数君まだ発狂してて草
722デフォルトの名無しさん
2023/12/12(火) 08:35:00.63ID:WTw42ze4 説得力あるコードのひとつも提示できなかったラジアン派まだ生きてたw
723デフォルトの名無しさん
2023/12/12(火) 12:34:25.83ID:71TRaAjF 説得力のあるコードまだみつからなくて困ってたのかよw
どの言語のライブラリもラジアンなのにそれを知らないって無能すぎない?w
どの言語のライブラリもラジアンなのにそれを知らないって無能すぎない?w
724デフォルトの名無しさん
2023/12/12(火) 15:54:16.85ID:gehgB0Io >>720
https://atcoder.jp/contests/abc332/submissions?f.User=zacky1972
Elixir遅すぎ
Cだと1msなのに制限時間ギリギリじゃねーの
そりゃ流行らんわな
https://atcoder.jp/contests/abc332/submissions?f.User=zacky1972
Elixir遅すぎ
Cだと1msなのに制限時間ギリギリじゃねーの
そりゃ流行らんわな
725デフォルトの名無しさん
2023/12/12(火) 19:08:14.85ID:0W1gKG9X > ポイントとしては,i番目の行の値Qi,Piを読み込んだら,即座に積和を行ない,入力した値を配列として記憶することはしないという点です.これにより,計算時間を1ミリ秒以下に,メモリ消費量もごく最小限にすることができます.
なんか誇らしげに説明してるけどscanf()で値読み込むのに掛かるコストに比べたら配列に入れようが即座に計算しようが屁みたいな違いしかないぞ。
> Streamを使って積和を累積する方法は,Stream.transform関数にs1関数を与え,得られるリストの最後の要素をEnum.at(-1)として取り出すことで実現します.
> 結果として,実行時間を800ミリ秒以下に,メモリ消費を160MB前後に抑えることができました.
https://atcoder.jp/contests/abc332/submissions/48423119
↑見るとどのテストケースでも780msに近い処理時間になってるし積和のコストってこっちも問題になってはいないよな。起動時に馬鹿みたいに待たされてるだけだろこれ。
なんかこの人計算コストについての理解がすげえ怪しい気がするわ。これで学生さんに何教えてんだか。
なんか誇らしげに説明してるけどscanf()で値読み込むのに掛かるコストに比べたら配列に入れようが即座に計算しようが屁みたいな違いしかないぞ。
> Streamを使って積和を累積する方法は,Stream.transform関数にs1関数を与え,得られるリストの最後の要素をEnum.at(-1)として取り出すことで実現します.
> 結果として,実行時間を800ミリ秒以下に,メモリ消費を160MB前後に抑えることができました.
https://atcoder.jp/contests/abc332/submissions/48423119
↑見るとどのテストケースでも780msに近い処理時間になってるし積和のコストってこっちも問題になってはいないよな。起動時に馬鹿みたいに待たされてるだけだろこれ。
なんかこの人計算コストについての理解がすげえ怪しい気がするわ。これで学生さんに何教えてんだか。
726デフォルトの名無しさん
2023/12/12(火) 23:20:02.29ID:d4PkBWYa >>725
で、全てについて上を行くお前の書いた記事はどれ?
で、全てについて上を行くお前の書いた記事はどれ?
727デフォルトの名無しさん
2023/12/13(水) 00:52:07.07ID:VTpIZ5BK 「1+1=3」という人を面白がってたら「で、全てについて上を行くお前の書いた記事はどれ?」という馬鹿が絡んできたでござる の巻
728デフォルトの名無しさん
2023/12/13(水) 01:02:23.97ID:pLi0oPHq Qiitaユーザー約2000人に聞いた「勤め先のサーバ・クラウド」
調査は9月29日から10月31日にかけてネット上で実施。
https://www.itmedia.co.jp/news/articles/2312/12/news138.html
調査は9月29日から10月31日にかけてネット上で実施。
https://www.itmedia.co.jp/news/articles/2312/12/news138.html
729デフォルトの名無しさん
2023/12/13(水) 01:03:20.41ID:VTpIZ5BK https://atcoder.jp/contests/abc332/tasks/abc332_a
> 問題文
> 高橋君はそこで N 種類の商品を購入することにしました。
> 1 以上 N 以下の整数 i について、i 種類目の商品は 1 個 P i円で、高橋君はQ i個購入します。
> 制約
> 1≤N≤100
100以下の制約で遅いとかないわアホかw
> 問題文
> 高橋君はそこで N 種類の商品を購入することにしました。
> 1 以上 N 以下の整数 i について、i 種類目の商品は 1 個 P i円で、高橋君はQ i個購入します。
> 制約
> 1≤N≤100
100以下の制約で遅いとかないわアホかw
730デフォルトの名無しさん
2023/12/13(水) 01:32:17.09ID:mZ0KNVix またIPAの資料以下の要件定義入門記事が来たな
731デフォルトの名無しさん
2023/12/13(水) 08:26:07.94ID:NpZf2J/f Nが100以下の制約で800ms
N+Mが2000以下の制約で1500ms
Cはどちらも1ms
制約が緩くなると時間も順調に伸びてるから起動時間が長いだけということでもなく全体的に遅いんだろう
並行処理が得意で対障害性が高いのがElixirの売りらしいが
速度がここまで出ないんじゃ使いみちは限られそうだな
起動時間除いて単純計算で1900の処理に700msかかるとか控えめに言ってゴミでしかない
インタプリタかな?
(そもそも新しい言語で並行処理や対障害性が不得意なものの方が少ない気がするし対障害って多分Optional型やEither型の話でしかないよなあ)
N+Mが2000以下の制約で1500ms
Cはどちらも1ms
制約が緩くなると時間も順調に伸びてるから起動時間が長いだけということでもなく全体的に遅いんだろう
並行処理が得意で対障害性が高いのがElixirの売りらしいが
速度がここまで出ないんじゃ使いみちは限られそうだな
起動時間除いて単純計算で1900の処理に700msかかるとか控えめに言ってゴミでしかない
インタプリタかな?
(そもそも新しい言語で並行処理や対障害性が不得意なものの方が少ない気がするし対障害って多分Optional型やEither型の話でしかないよなあ)
732デフォルトの名無しさん
2023/12/13(水) 10:12:45.45ID:ZLCSU55O 今度は初心者向けの設問にしかドヤれないバカが湧いてんのか
733デフォルトの名無しさん
2023/12/13(水) 10:15:49.81ID:cuotF3WF 初心者にElixir勧めるやつはおらんやろ
734デフォルトの名無しさん
2023/12/13(水) 10:31:28.43ID:Hx44XXHL 裸の王様に「Elixir全然速くないねw」みたいなコメントする正直な子供おらんのかな
735デフォルトの名無しさん
2023/12/13(水) 15:41:58.90ID:nkVMGJ7R https://atcoder.jp/contests/abc332/submissions?f.Task=abc332_a&f.LanguageName=Haskell&f.Status=AC&f.User=
Haskellだと1〜2ms
Elixirは速度もありえないくらい遅くてコードも長くてインデントも深くて何一ついいところなしにしか見えんがこれって言語のせいなのかね
Haskellだと1〜2ms
Elixirは速度もありえないくらい遅くてコードも長くてインデントも深くて何一ついいところなしにしか見えんがこれって言語のせいなのかね
736デフォルトの名無しさん
2023/12/13(水) 18:35:43.24ID:eFqokkdq スクラッチのようなブロック並べるのもあるし、そこに拘る必要もないやろ
737デフォルトの名無しさん
2023/12/13(水) 19:39:13.03ID:p0B6DwAr QiitaでElixir推してる人達ってElixirは並列処理が簡単にできて
速いという主張を当たり前のように繰り返してるけど、他の言語と
比べてどうだこんなに速いぞてのじゃなくて、クソみたいな
アルゴリズムをElixirでシングルコアとマルチコアで比べて
マルチコアでこんなに速くなった!Elixir最高ーー!!(ビクンビクン
みたいな記事ばっか見かける希ガス。
まずアルゴリズムちゃんとしろよと。
他の言語と実際に比べて優位を語れと。
速いという主張を当たり前のように繰り返してるけど、他の言語と
比べてどうだこんなに速いぞてのじゃなくて、クソみたいな
アルゴリズムをElixirでシングルコアとマルチコアで比べて
マルチコアでこんなに速くなった!Elixir最高ーー!!(ビクンビクン
みたいな記事ばっか見かける希ガス。
まずアルゴリズムちゃんとしろよと。
他の言語と実際に比べて優位を語れと。
738デフォルトの名無しさん
2023/12/13(水) 21:48:45.90ID:NpZf2J/f >>737
https://qiita.com/zacky1972/items/fa362f4d9b1252a207ad
CとJavaと比較してるぞ
どちらもasync/awaitが無いからめんどくさいがそれって結局Elixirの優位性というよりCとJavaが遅れてるってだけの話なんだよなあ
https://qiita.com/zacky1972/items/fa362f4d9b1252a207ad
CとJavaと比較してるぞ
どちらもasync/awaitが無いからめんどくさいがそれって結局Elixirの優位性というよりCとJavaが遅れてるってだけの話なんだよなあ
739デフォルトの名無しさん
2023/12/13(水) 22:22:14.64ID:X0GNdEDV コメント欄総ツッコミだなあw
並行・並列プログラミングと同期・排他制御とイミュータブル性の話〜その2「スレッドと同期・排他制御」
https://qiita.com/zacky1972/items/bbf1f7bdecbbd0492151
並行・並列プログラミングと同期・排他制御とイミュータブル性の話〜その3「同期・排他制御の2つの問題点」
https://qiita.com/zacky1972/items/10787cb6104c82016487
Elixir推しの人がC引き合いに出してるけどよく分かってないから比較にすらなってない感じ。
並行・並列プログラミングと同期・排他制御とイミュータブル性の話〜その2「スレッドと同期・排他制御」
https://qiita.com/zacky1972/items/bbf1f7bdecbbd0492151
並行・並列プログラミングと同期・排他制御とイミュータブル性の話〜その3「同期・排他制御の2つの問題点」
https://qiita.com/zacky1972/items/10787cb6104c82016487
Elixir推しの人がC引き合いに出してるけどよく分かってないから比較にすらなってない感じ。
740デフォルトの名無しさん
2023/12/14(木) 01:21:26.48ID:X6Ol8Z5z Elixir は、10万もの小プロセスを起動できる。
メモリが大きいと、5千万小プロセスも
それに関数型で、オブジェクトの状態が変わらないから、安全性・保守性が高い。
つまり更新できず、新規作成・廃棄しかできない。
オブジェクトは更新できないから再利用できる
片方向リストなので、先頭にしか追加できない。
末尾追加できないので、先頭に追加していって、最後に逆転させるとか
スクエニは、Elixirを使っているらしい
メモリが大きいと、5千万小プロセスも
それに関数型で、オブジェクトの状態が変わらないから、安全性・保守性が高い。
つまり更新できず、新規作成・廃棄しかできない。
オブジェクトは更新できないから再利用できる
片方向リストなので、先頭にしか追加できない。
末尾追加できないので、先頭に追加していって、最後に逆転させるとか
スクエニは、Elixirを使っているらしい
741デフォルトの名無しさん
2023/12/14(木) 02:40:45.61ID:aBZ2Af/o >>740
GoやRustでも10万可能だな
GoやRustでも10万可能だな
742デフォルトの名無しさん
2023/12/14(木) 04:11:29.57ID:+GVKXU6O いくらプロセス起動できようが遅けりゃ意味無し
743デフォルトの名無しさん
2023/12/14(木) 04:52:43.66ID:ehr7WTWM Rustの非同期タスクはスタックレスコルーチンなので軽くて速くていいね
744デフォルトの名無しさん
2023/12/14(木) 07:29:56.59ID:y0v8WBQQ 10万のプロセス作ったとしてもCPUが10万無いなら結局同時処理できないわけで意味ないんじゃね
あとプロセス作る負荷と切り替えの負荷は結構重い
PCで使う限り大量のプロセス作っても速くなるどころか逆に遅くなると思うんだがほんとに速さが売りになるのか?
あとプロセス作る負荷と切り替えの負荷は結構重い
PCで使う限り大量のプロセス作っても速くなるどころか逆に遅くなると思うんだがほんとに速さが売りになるのか?
745デフォルトの名無しさん
2023/12/14(木) 07:37:03.68ID:y0v8WBQQ スクエニの使ってるElixirって言語なのか?
ゲーム配信インフラとゲーム内アイテムの話しか出てこんぞ
ゲーム配信インフラとゲーム内アイテムの話しか出てこんぞ
746デフォルトの名無しさん
2023/12/14(木) 08:51:47.14ID:tCCx741E Elixir推しの人達がElixirの強みをアピールする記事書かないのホント不思議。
747デフォルトの名無しさん
2023/12/14(木) 10:00:34.56ID:vwLqM/bT https://www.infoq.com/jp/news/2019/09/rust-elixir-performance-at-scale/
Discordは一部Elixirで書かれてるがユーザーが増えて同時接続数の限界が見えたためにRustで書き直したそうな
一番得意な分野で他の言語に席を譲るとかやっぱり使いみちないじゃん
最初から全部Rustを使えばこんなことにならなかったのに
Discordは一部Elixirで書かれてるがユーザーが増えて同時接続数の限界が見えたためにRustで書き直したそうな
一番得意な分野で他の言語に席を譲るとかやっぱり使いみちないじゃん
最初から全部Rustを使えばこんなことにならなかったのに
748デフォルトの名無しさん
2023/12/14(木) 10:17:33.82ID:riWO4PsS Elixir推しの人曰くElixirはGPU使った並列処理もカンタンに書けるとのことだけど
実際そうなら個人が所有できるパソコンでも有意な使い方ありそうだけどね、
そういう記事が見当たらない辺りでまあそういうことなんだろうなあ。
実際そうなら個人が所有できるパソコンでも有意な使い方ありそうだけどね、
そういう記事が見当たらない辺りでまあそういうことなんだろうなあ。
749デフォルトの名無しさん
2023/12/14(木) 10:24:05.23ID:ehr7WTWM >>744
プロセスやスレッドを10万個作るわけではないよ
一つのプロセスの中にスレッドをそのCPUコアスレッド数分(例えば8個)だけ作って使う
10万個の軽い非同期タスクはそのマルチスレッド上で擬似的にスケジューリングされる
もし数値計算ならばそのような非同期タスクを使うのは無意味でマルチスレッドをそのまま用いる
一方でネット通信のように非同期でCPUの待ち時間が多いものは軽い非同期タスクを何万も同時に動かし何万もの通信クライアントを同時に捌くことができる
プロセスやスレッドを10万個作るわけではないよ
一つのプロセスの中にスレッドをそのCPUコアスレッド数分(例えば8個)だけ作って使う
10万個の軽い非同期タスクはそのマルチスレッド上で擬似的にスケジューリングされる
もし数値計算ならばそのような非同期タスクを使うのは無意味でマルチスレッドをそのまま用いる
一方でネット通信のように非同期でCPUの待ち時間が多いものは軽い非同期タスクを何万も同時に動かし何万もの通信クライアントを同時に捌くことができる
750デフォルトの名無しさん
2023/12/14(木) 10:39:56.58ID:ztw3BXrG 通信デバイスは限られてるからそれは無い
751デフォルトの名無しさん
2023/12/14(木) 10:40:17.07ID:y0v8WBQQ >>749
なんでプロセスじゃなくスレッドを8個作るんだよw
なんでプロセスじゃなくスレッドを8個作るんだよw
752デフォルトの名無しさん
2023/12/14(木) 11:15:16.07ID:f6g+GYKj プロセス間通信にコストがかかるからでは?
知らんけど
知らんけど
753デフォルトの名無しさん
2023/12/14(木) 11:18:51.20ID:ztw3BXrG 何万スレッド起こそうが、通信デバイスが一つなら
一つのスレッド以外後はひたすら待ってるだけだしなぁ
一つのスレッド以外後はひたすら待ってるだけだしなぁ
754デフォルトの名無しさん
2023/12/14(木) 11:19:33.74ID:vwLqM/bT >>725
https://atcoder.jp/contests/abc332/submissions?f.Task=abc332_a&f.LanguageName=AWK&f.Status=AC&f.User=
AWKで2msだから准教授が持てる力の全てを発揮して本気で作ったElixirプログラムはインタプリタより遅いことになるな
https://atcoder.jp/contests/abc332/submissions?f.Task=abc332_a&f.LanguageName=AWK&f.Status=AC&f.User=
AWKで2msだから准教授が持てる力の全てを発揮して本気で作ったElixirプログラムはインタプリタより遅いことになるな
755デフォルトの名無しさん
2023/12/14(木) 11:19:57.78ID:ztw3BXrG 単なる待ち行列の捌き方の違いでしか無いんだよなぁ
756デフォルトの名無しさん
2023/12/14(木) 11:27:56.68ID:ehr7WTWM757デフォルトの名無しさん
2023/12/14(木) 13:11:25.11ID:UDs9NMEG >>748
Elixirが本当にGPU処理をカンタンに書けるなら、もっと有名だったろう
一時期openCL使ってたけど、まず使えるようにするまでも面倒だったな
(今は簡単なのかもだけど)
使えるようにしてからは、ヤッホ~イだったw
Elixirが本当にGPU処理をカンタンに書けるなら、もっと有名だったろう
一時期openCL使ってたけど、まず使えるようにするまでも面倒だったな
(今は簡単なのかもだけど)
使えるようにしてからは、ヤッホ~イだったw
758デフォルトの名無しさん
2023/12/14(木) 13:17:27.28ID:4gudT7IY >>756
それだと10万のプロセスが扱える利点なくね?w
それだと10万のプロセスが扱える利点なくね?w
759デフォルトの名無しさん
2023/12/14(木) 13:32:55.03ID:4sl/SGKe760デフォルトの名無しさん
2023/12/14(木) 13:43:48.30ID:qE3AElg+ ていうか現にElixirだと捌ききれなくてRustで書き直したという事例がそこにあるわけだがいつまで机上の空論を支えにしてるんだ
761デフォルトの名無しさん
2023/12/14(木) 13:45:00.14ID:e7pV4XH4762デフォルトの名無しさん
2023/12/14(木) 14:03:29.37ID:lRrQctoZ763デフォルトの名無しさん
2023/12/14(木) 14:41:05.58ID:2Ni4Gd+R >>758
プロセスはスイッチングコストが非常に大きいため、
プロセスを動かせば動かすほど損をするという基本常識を理解しよう。
そのためメモリを共有しスイッチングコストが軽減されたスレッドが代わりにある。
そのスレッドもスイッチングコストが大きいため、
1スレッド1クライアント接続だと何万もクライアントが同時接続したら動かない。
よってスイッチングコストが極めて軽量で非同期に動くマイクロタスクを用いるのが主流となっている。
プロセスはスイッチングコストが非常に大きいため、
プロセスを動かせば動かすほど損をするという基本常識を理解しよう。
そのためメモリを共有しスイッチングコストが軽減されたスレッドが代わりにある。
そのスレッドもスイッチングコストが大きいため、
1スレッド1クライアント接続だと何万もクライアントが同時接続したら動かない。
よってスイッチングコストが極めて軽量で非同期に動くマイクロタスクを用いるのが主流となっている。
764デフォルトの名無しさん
2023/12/14(木) 14:55:20.21ID:e7pV4XH4 >>763
そこまでわかってるならなんで10万プロセス使えるってホルホルしたの?w
そこまでわかってるならなんで10万プロセス使えるってホルホルしたの?w
765デフォルトの名無しさん
2023/12/14(木) 14:58:52.36ID:2Ni4Gd+R 俺じゃないので知らん。
そんなバカな主張してるやつもいないだろ?
そんなバカな主張してるやつもいないだろ?
766デフォルトの名無しさん
2023/12/14(木) 15:05:17.25ID:+fN+qS2C767デフォルトの名無しさん
2023/12/14(木) 15:08:18.14ID:W87KUsm7 地球温暖化とコンピュータのエネルギー消費の問題にElixirで立ち向かう〜「コンピュータと地球温暖化は
決して無縁ではない」(2022年版)
https://qiita.com/zacky1972/items/a67459bf36f7b369b946
地球温暖化とコンピュータのエネルギー消費の問題にElixirで立ち向かう〜機械学習の消費電力あたり性能の改善に向けて
https://qiita.com/zacky1972/items/fc74503c33839b64d0a3
Elixirを使ってコンピュータの電力消費を抑える目論見みたいだけども実行効率で他の言語に劣るElixirを使う意図がわからん。
都合が良い話しかしてないようにも見える。
https://qiita.com/zacky1972/items/a67459bf36f7b369b946
地球温暖化とコンピュータのエネルギー消費の問題にElixirで立ち向かう〜機械学習の消費電力あたり性能の改善に向けて
https://qiita.com/zacky1972/items/fc74503c33839b64d0a3
Elixirを使ってコンピュータの電力消費を抑える目論見みたいだけども実行効率で他の言語に劣るElixirを使う意図がわからん。
都合が良い話しかしてないようにも見える。
768デフォルトの名無しさん
2023/12/14(木) 16:07:24.88ID:nB7JFyYo ああなるほど
>>740を無かったことにしたくて頑張ってスレを流してたのかw
>>740を無かったことにしたくて頑張ってスレを流してたのかw
769デフォルトの名無しさん
2023/12/14(木) 16:13:09.80ID:xxh+LIL0770デフォルトの名無しさん
2023/12/14(木) 16:42:29.46ID:ztw3BXrG だから、ネット1回線あたりにそんなキャパは無いからw
771デフォルトの名無しさん
2023/12/14(木) 17:34:03.34ID:XrPlFWPd772デフォルトの名無しさん
2023/12/14(木) 17:34:30.30ID:H9fFRRYE >>753
非同期プログラミングどころかネットワークプログラミングすらしたことのない子供が暴れてるのか?
まずネットワーク通信はOSにより抽象化されているためプログラムで通信デバイスを直接操作したり待つことはない
次に古典的なブロッキング同期でマルチスレッドを使う単純な方法でもlisten/accept専用スレッドはacceptするとすぐに別スレッドに任せてその別スレッドが通信を行なう
プログラミングをしたことのない子供だから知らないのか?
非同期プログラミングどころかネットワークプログラミングすらしたことのない子供が暴れてるのか?
まずネットワーク通信はOSにより抽象化されているためプログラムで通信デバイスを直接操作したり待つことはない
次に古典的なブロッキング同期でマルチスレッドを使う単純な方法でもlisten/accept専用スレッドはacceptするとすぐに別スレッドに任せてその別スレッドが通信を行なう
プログラミングをしたことのない子供だから知らないのか?
773デフォルトの名無しさん
2023/12/14(木) 17:36:36.25ID:XrPlFWPd >>767
CPUは使いまくるし実行速度は遅いしで絶対電力効率悪いわな
CPUは使いまくるし実行速度は遅いしで絶対電力効率悪いわな
774デフォルトの名無しさん
2023/12/14(木) 17:39:47.54ID:y0v8WBQQ >>772
今度はスレッドの数も必要ないと言い出したがそれだとプロセスに続いてますますElixirの利点なくならね?w
今度はスレッドの数も必要ないと言い出したがそれだとプロセスに続いてますますElixirの利点なくならね?w
775デフォルトの名無しさん
2023/12/14(木) 17:42:38.14ID:89ikcykU776デフォルトの名無しさん
2023/12/14(木) 17:55:03.81ID:5ci7xWno >>751
常識だろ
同じメモリ空間を使うためスレッドを使い、CPUを限界まで使いこなせるようにするためCPUコアの分だけスレッドを起動する
GoもRustのtokioもそれが指定しない時のデフォルト挙動となっている
常識だろ
同じメモリ空間を使うためスレッドを使い、CPUを限界まで使いこなせるようにするためCPUコアの分だけスレッドを起動する
GoもRustのtokioもそれが指定しない時のデフォルト挙動となっている
777デフォルトの名無しさん
2023/12/14(木) 18:07:20.47ID:ztw3BXrG >>772
馬鹿はハードの事情も知らずにサービス開始と共にキャパオーバーで障害発生させるのかw
馬鹿はハードの事情も知らずにサービス開始と共にキャパオーバーで障害発生させるのかw
778デフォルトの名無しさん
2023/12/14(木) 18:27:59.46ID:y0v8WBQQ779デフォルトの名無しさん
2023/12/14(木) 18:30:01.63ID:y0v8WBQQ780デフォルトの名無しさん
2023/12/14(木) 18:32:21.00ID:XrPlFWPd どれだけ話をごまかそうとElixirが遅いことに変わりはないんだな
計測すればわかること
計測すればわかること
781デフォルトの名無しさん
2023/12/14(木) 18:32:58.40ID:zrmcyW9d782デフォルトの名無しさん
2023/12/14(木) 18:36:52.31ID:XnrONDcr783デフォルトの名無しさん
2023/12/14(木) 19:13:15.18ID:Qyxtwh9D >>781
作れる利点がなくなるよねって話の三回目に入る?w
作れる利点がなくなるよねって話の三回目に入る?w
784デフォルトの名無しさん
2023/12/14(木) 19:13:56.39ID:Qyxtwh9D >>782
もうちょい調べてから書かないと恥の上塗りになるだけだぞw
もうちょい調べてから書かないと恥の上塗りになるだけだぞw
785デフォルトの名無しさん
2023/12/14(木) 19:22:47.99ID:2Hq+5kYn 自演で恥ずかしい過去ログ流してもElixirは速くなったりしないしスレが消えたりもしないんだよなあ
786デフォルトの名無しさん
2023/12/14(木) 19:27:28.75ID:H+V/uhu0 他の言語に比べれば大量の軽量プロセスサポートがあるElixir・Go・Rustなどが圧倒的に有利なのは当たり前だが
Elixirはイミュータブルに拘りすぎていてガベージが大量発生するからかその中では遅いよな
GoもElixirと同じくガベージコレクションを抱える言語だけどミュータブルも使えるしエスケープ解析でヒープ利用回避もあってElixirより速い
RustはC/C++と同じくガベージコレクションがないだけでなくヒープ利用回避がGoよりさらに積極的に可能でさらに速い
Elixirはイミュータブルに拘りすぎていてガベージが大量発生するからかその中では遅いよな
GoもElixirと同じくガベージコレクションを抱える言語だけどミュータブルも使えるしエスケープ解析でヒープ利用回避もあってElixirより速い
RustはC/C++と同じくガベージコレクションがないだけでなくヒープ利用回避がGoよりさらに積極的に可能でさらに速い
787デフォルトの名無しさん
2023/12/14(木) 19:30:41.46ID:2Hq+5kYn インタプリタの数百倍遅いのにガベージどうこういう話じゃないだろ
788デフォルトの名無しさん
2023/12/14(木) 19:31:52.15ID:2Hq+5kYn そもそも大量の軽量プロセスなんか使うことないからまったく意味ないって結論出たろうに
789デフォルトの名無しさん
2023/12/14(木) 19:35:21.32ID:H+V/uhu0 >>788
GoでもRustでもウェブバックエンドなどを中心に普通に使われまくっているぜ
GoでもRustでもウェブバックエンドなどを中心に普通に使われまくっているぜ
790デフォルトの名無しさん
2023/12/14(木) 19:58:49.62ID:FC5gFBi+ 【11万文字越え】プログラミング初心者に贈る即戦力ガイド
https://qiita.com/nuco_bk/items/27f5ad03d0c4b41241fc
> 4. よく使われる英単語一覧(全759語)
> なお、ここで紹介した単語の一覧についてはこちらの記事から引用させていただいております。
> プログラミング必須英単語600+ | プログラミング英語検定
759語のコピペは引用じゃないと思ったが?
引用マークの「>」を付けてないし引用にしては数が多すぎる
https://qiita.com/nuco_bk/items/27f5ad03d0c4b41241fc
> 4. よく使われる英単語一覧(全759語)
> なお、ここで紹介した単語の一覧についてはこちらの記事から引用させていただいております。
> プログラミング必須英単語600+ | プログラミング英語検定
759語のコピペは引用じゃないと思ったが?
引用マークの「>」を付けてないし引用にしては数が多すぎる
791デフォルトの名無しさん
2023/12/14(木) 20:16:06.62ID:k/PqgUjR 10年後のために「私自身が」今勉強しておきたい技術〜Elixir, Nx, SIMD/ベクタ命令, GPU, FPGAプログラミングの高速化を極めたい!
https://qiita.com/zacky1972/items/16551040cc42696127fb
> 取り組みたいこと
> しかしながら,コード最適化の専門家としては,より高速なNxバックエンドを作ってみたいという野心が私に芽生えました。
「コード最適化の専門家」だそうだ。
https://qiita.com/zacky1972/items/16551040cc42696127fb
> 取り組みたいこと
> しかしながら,コード最適化の専門家としては,より高速なNxバックエンドを作ってみたいという野心が私に芽生えました。
「コード最適化の専門家」だそうだ。
792デフォルトの名無しさん
2023/12/14(木) 20:29:36.51ID:OXkICwN3 >>791
その人の少し前の記事を見たら
Elixirの遅さをちゃんと認識してるな
>現状の Elixir の実行時環境である Erlang VM (アーラン ブイエム) は,Rust や C/C++ などのネイティブコードにコンパイルするプログラミング言語処理系と比べて低速です。
>
>そこで,Elixir (というか Erlang VM) には,NIF(Native Implemented Function)というネイティブコード実行に関わるAPIが整備されています。
>NIFは通常C/C++で書くのですが,Elixir では Rustler (ラスラー)というライブラリによって NIF を記述するプログラミング言語として Rust を利用することができるようになります。
>
>Rustler によって Elixir と Rust は共存共栄の道を辿ることができます!
その人の少し前の記事を見たら
Elixirの遅さをちゃんと認識してるな
>現状の Elixir の実行時環境である Erlang VM (アーラン ブイエム) は,Rust や C/C++ などのネイティブコードにコンパイルするプログラミング言語処理系と比べて低速です。
>
>そこで,Elixir (というか Erlang VM) には,NIF(Native Implemented Function)というネイティブコード実行に関わるAPIが整備されています。
>NIFは通常C/C++で書くのですが,Elixir では Rustler (ラスラー)というライブラリによって NIF を記述するプログラミング言語として Rust を利用することができるようになります。
>
>Rustler によって Elixir と Rust は共存共栄の道を辿ることができます!
793デフォルトの名無しさん
2023/12/14(木) 21:05:29.39ID:AJ/57PbC > Rustler によって Elixir と Rust は共存共栄の道を辿ることができます!
Rustだけで良くね?
Rustだけで良くね?
794デフォルトの名無しさん
2023/12/14(木) 21:59:19.62ID:Q2uBj3OJ >>789
次にお前は「使われているのはスレッドだ」と言う
次にお前は「使われているのはスレッドだ」と言う
795デフォルトの名無しさん
2023/12/15(金) 01:07:06.13ID:XTNGu5LG 前にも書いたけど、
例えば、C で100 スレッド起動するよりも、
Go で100 goroutine 起動すると、
6 スレッドしか使わずに、実行時間も半分になる。
つまり、スレッドの起動時間が遅い
OS のプロセス/スレッドは遅い
Elixir, Rust, Go の
軽量プロセス/軽量タスク/軽量コルーチンの方が速い
例えば、C で100 スレッド起動するよりも、
Go で100 goroutine 起動すると、
6 スレッドしか使わずに、実行時間も半分になる。
つまり、スレッドの起動時間が遅い
OS のプロセス/スレッドは遅い
Elixir, Rust, Go の
軽量プロセス/軽量タスク/軽量コルーチンの方が速い
796デフォルトの名無しさん
2023/12/15(金) 01:26:29.98ID:cIV5Hp8x 地球温暖化とコンピュータのエネルギー消費の問題にElixirで立ち向かう〜「コンピュータと地球温暖化は
決して無縁ではない」(2022年版)
https://qiita.com/zacky1972/items/a67459bf36f7b369b946
> このような状況の時に,クロック周波数を上げることで乗り切るか,クロック周波数を抑えたまま複数のコアに負荷分散して並列処理するかという選択肢があると思うのですが,後者の方が消費電力的には有利であることが多いのではないかという主張になります.
> FortranやC++等によるマルチスレッドによる実装には,デッドロックや性能低下の問題が起こりやすいという点を指摘したかと思います.Elixirを用いることで,それらのほとんどを回避することができると主張しています.
複数にコアにまたがる処理でElixirが高効率という主張かあ。
なんか実例挙げて言ってんのかな、自称コード最適化の専門家は。
https://qiita.com/zacky1972/items/a67459bf36f7b369b946
> このような状況の時に,クロック周波数を上げることで乗り切るか,クロック周波数を抑えたまま複数のコアに負荷分散して並列処理するかという選択肢があると思うのですが,後者の方が消費電力的には有利であることが多いのではないかという主張になります.
> FortranやC++等によるマルチスレッドによる実装には,デッドロックや性能低下の問題が起こりやすいという点を指摘したかと思います.Elixirを用いることで,それらのほとんどを回避することができると主張しています.
複数にコアにまたがる処理でElixirが高効率という主張かあ。
なんか実例挙げて言ってんのかな、自称コード最適化の専門家は。
797デフォルトの名無しさん
2023/12/15(金) 01:34:51.66ID:FlvYUTtH 遅い言語で並列化するくらいなら速い言語で逐次処理しますわ
798デフォルトの名無しさん
2023/12/15(金) 02:16:26.21ID:XbW4elW9 スパコンの電力当たりのみたいに、どの言語がどの程度効率いいか比較するのもいいかもね
どのような処理内容にするかも思案のしどころだけど
あ、オレはgoとかrustとか全然わからんからムリ
(もうあるかは知らない)
どのような処理内容にするかも思案のしどころだけど
あ、オレはgoとかrustとか全然わからんからムリ
(もうあるかは知らない)
799デフォルトの名無しさん
2023/12/15(金) 02:17:25.67ID:XbW4elW9 あ、R23でいいのか汗
800デフォルトの名無しさん
2023/12/15(金) 02:18:03.31ID:XbW4elW9 >>799
あ、違うわ…寝ます
あ、違うわ…寝ます
801デフォルトの名無しさん
2023/12/15(金) 07:19:04.05ID:qQ38is4w802デフォルトの名無しさん
2023/12/15(金) 08:16:29.01ID:6YWiJxHB803デフォルトの名無しさん
2023/12/15(金) 08:23:02.74ID:6YWiJxHB ていうかもしかしてElixirに並列処理させるより接続数の数だけJavaやPHPのプログラムを立ち上げて排他はDBに任せた方が速いんじゃないかっていう
804デフォルトの名無しさん
2023/12/15(金) 10:02:52.05ID:upp2Hku2805デフォルトの名無しさん
2023/12/15(金) 10:24:30.21ID:xCMZAyyJ806デフォルトの名無しさん
2023/12/15(金) 10:36:14.71ID:upp2Hku2 >>805
馬鹿は話し掛けるなw
馬鹿は話し掛けるなw
807デフォルトの名無しさん
2023/12/15(金) 10:42:34.89ID:qQ38is4w808デフォルトの名無しさん
2023/12/15(金) 10:47:32.82ID:upp2Hku2 >>807
だからさ、そんなマクロな視野でコード組むから
リリースした途端にサーバ落ちるんだよw
一つのくちから1パケットづつ順に送り出してんだからさw
受信も一つのくちからしか入って来ないからな
CPUの時間単位で考えたらかなりの待ち時間だぞ
だからさ、そんなマクロな視野でコード組むから
リリースした途端にサーバ落ちるんだよw
一つのくちから1パケットづつ順に送り出してんだからさw
受信も一つのくちからしか入って来ないからな
CPUの時間単位で考えたらかなりの待ち時間だぞ
809デフォルトの名無しさん
2023/12/15(金) 10:50:21.81ID:esahPYg6810デフォルトの名無しさん
2023/12/15(金) 11:02:05.12ID:Ih8Pp7jw 数万同時接続ってさあ
数万のパケットが同時にくるわけじゃなく一定時間に数万通りのipの書かれたパケットが届くことなんだよねえ
同時なのは接続数(最初のパケットが届いてから後、最後のパケットが届いてタイムアウトするまでが1接続)であって通信じゃないんだわ
普通はそれを複数のサーバーにふりわけるから一つのコンピューターで全部処理する必要ないんですわ
でもってそれぞれのサーバーのLANカードの数は物理的に限られてるしそれを処理するCPUのコア数も限られてるから10万の並列(並行ではなく)処理を誇っても意味ないんすわ
ましてや10万のプロセスなんてほぼ休んでるだけなんすわ
数万のパケットが同時にくるわけじゃなく一定時間に数万通りのipの書かれたパケットが届くことなんだよねえ
同時なのは接続数(最初のパケットが届いてから後、最後のパケットが届いてタイムアウトするまでが1接続)であって通信じゃないんだわ
普通はそれを複数のサーバーにふりわけるから一つのコンピューターで全部処理する必要ないんですわ
でもってそれぞれのサーバーのLANカードの数は物理的に限られてるしそれを処理するCPUのコア数も限られてるから10万の並列(並行ではなく)処理を誇っても意味ないんすわ
ましてや10万のプロセスなんてほぼ休んでるだけなんすわ
811デフォルトの名無しさん
2023/12/15(金) 11:07:46.44ID:Ih8Pp7jw だから結局大事なのは並列じゃなく並行の方なんだけど逐次処理がインタプリタの数百倍遅い言語で並行処理しても処理しきれないで取りこぼすだけなんすわw
812デフォルトの名無しさん
2023/12/15(金) 11:13:07.61ID:Ih8Pp7jw 並行処理ってわかるかなあ?
要はタスク毎に逐次処理するんじゃなく複数のタスクをちょっとずつ順に処理することなんだけど、結局合計でかかる時間は逐次処理と変わらないのわかる?
それどころか切り替えにかかる時間を入れると逐次処理よりも時間がかかるのが並行処理なんだよねえ
だから逐次処理の無茶苦茶遅いElixirは並行処理にも向いてないの理解できる?
できるかなあ?
ちょっとまだ難しいかなあ?
要はタスク毎に逐次処理するんじゃなく複数のタスクをちょっとずつ順に処理することなんだけど、結局合計でかかる時間は逐次処理と変わらないのわかる?
それどころか切り替えにかかる時間を入れると逐次処理よりも時間がかかるのが並行処理なんだよねえ
だから逐次処理の無茶苦茶遅いElixirは並行処理にも向いてないの理解できる?
できるかなあ?
ちょっとまだ難しいかなあ?
813デフォルトの名無しさん
2023/12/15(金) 11:17:58.27ID:VevHc3wp814デフォルトの名無しさん
2023/12/15(金) 11:25:03.44ID:CpUqahV2 >>812
あまりにも無知でプログラミングをしたことないみたいだから
練習に数十ヵ所のWebサーバーからデータをとって来るプログラム書いてみな
逐次処理は無駄に時間がかかり並行処理はすぐに済むことがわかる
これはネットワークプログラミングの基礎知識だよ
あまりにも無知でプログラミングをしたことないみたいだから
練習に数十ヵ所のWebサーバーからデータをとって来るプログラム書いてみな
逐次処理は無駄に時間がかかり並行処理はすぐに済むことがわかる
これはネットワークプログラミングの基礎知識だよ
815デフォルトの名無しさん
2023/12/15(金) 11:32:29.38ID:Ih8Pp7jw816デフォルトの名無しさん
2023/12/15(金) 11:33:35.63ID:Ih8Pp7jw >>813
そもそも全体をElixirで書く必要がないんだけどw
そもそも全体をElixirで書く必要がないんだけどw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 20代の3割が「テレビ見ない」現実…そして静かに広がる「究極のテレビ離れ」とは [muffin★]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- んなっしょい🍬禁止🈲のお🏡
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 高市早苗「……なんて言ってみたw」中国「なんだ、言ってみただけかw」👈これで全部元通りになるという事実 [782460143]
- 【悲報】ガラパゴス島国ジャップ、自分達の容姿が優れてると錯覚してしまう [383063292]
