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
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
817デフォルトの名無しさん
2023/12/15(金) 11:43:37.92ID:74u1yDVR >>814
数十箇所ならElixirでもどうにか処理できそうだけど数万箇所だと取りこぼしそうって話がわかってないやつおるな
遅い言語でいくら複数のプロセスやスレッド作ってもハードの制限で並列化できる数は限られてるから意味がないよ
並行処理だと休みなくパケットが来たときに合計実行時間が逐次処理以上になるから処理の遅い言語は並行処理に向いてないよ
数十箇所ならElixirでもどうにか処理できそうだけど数万箇所だと取りこぼしそうって話がわかってないやつおるな
遅い言語でいくら複数のプロセスやスレッド作ってもハードの制限で並列化できる数は限られてるから意味がないよ
並行処理だと休みなくパケットが来たときに合計実行時間が逐次処理以上になるから処理の遅い言語は並行処理に向いてないよ
818デフォルトの名無しさん
2023/12/15(金) 11:48:08.48ID:CpUqahV2819デフォルトの名無しさん
2023/12/15(金) 12:21:47.92ID:Q6tOx24A >>818
お前一人だけ初歩的な話をしてることに早く気づけ
痛々しいわw
大規模アクセスつまりパケットが常に行列に並んでて待ち時間が無い時には並行処理で早くならんということこそ基本だぞ?w
なんでお前一人だけ自分のPCの話をしてんだよw
お前一人だけ初歩的な話をしてることに早く気づけ
痛々しいわw
大規模アクセスつまりパケットが常に行列に並んでて待ち時間が無い時には並行処理で早くならんということこそ基本だぞ?w
なんでお前一人だけ自分のPCの話をしてんだよw
820デフォルトの名無しさん
2023/12/15(金) 12:30:29.65ID:kcf1mbU3 大規模サーバーは並行処理をやっていて逐次処理をやっている古いプログラムはとっくに淘汰されたもんな
最近の言語がいずれも並行処理に力を入れてるのも需要を反映してる
最近の言語がいずれも並行処理に力を入れてるのも需要を反映してる
821デフォルトの名無しさん
2023/12/15(金) 12:47:22.02ID:3oHFxrKa >>819
サーバーとクライアントと言うべき
> 大規模アクセスつまりパケットが常に行列に並んでて待ち時間が無い時には並行処理で早くならん
これはサーバーの話
> なんでお前一人だけ自分のPCの話をしてんだよw
これはクライアントの話
おまえは説明が下手
サーバーとクライアントと言うべき
> 大規模アクセスつまりパケットが常に行列に並んでて待ち時間が無い時には並行処理で早くならん
これはサーバーの話
> なんでお前一人だけ自分のPCの話をしてんだよw
これはクライアントの話
おまえは説明が下手
822デフォルトの名無しさん
2023/12/15(金) 12:51:02.58ID:6YWiJxHB 逐次処理があり得ないくらい遅いElixirでは並行処理も早くならんし他の言語でも今やasync/awaitが常識だしやっぱりElixirをわざわざ選ぶ理由はないよな
取りこぼしてエラー連発するのが落ち
普通のサイトなら普通にPHPやRubyでいいし速度を望むならRustで書けばいい
一番得意な分野で力を発揮できないって設計思想から間違ってるんじゃね?
取りこぼしてエラー連発するのが落ち
普通のサイトなら普通にPHPやRubyでいいし速度を望むならRustで書けばいい
一番得意な分野で力を発揮できないって設計思想から間違ってるんじゃね?
823デフォルトの名無しさん
2023/12/15(金) 12:52:03.81ID:6YWiJxHB824デフォルトの名無しさん
2023/12/15(金) 12:56:17.44ID:DfOQteVp 他の言語vsElixirの話は逐次処理vs並行処理の話にすりかえろって指示でもどっかから出てんのかな
並行処理がElixirの独壇場って時代が存在したっけ?
並行処理がElixirの独壇場って時代が存在したっけ?
825デフォルトの名無しさん
2023/12/15(金) 12:58:42.00ID:IyzV6Elv 分散処理も区別してください
826デフォルトの名無しさん
2023/12/15(金) 13:23:32.97ID:3oHFxrKa > ジョー アームストロング氏は、2013 年の Rackspace とのインタビューで次のように述べています。「もし Java が '一度書いたらどこでも実行できる'場合、Erlang は「一度書いたら永久に実行できる」
> Sun Microsystems の Web テクノロジー担当ディレクター、Tim Bray 氏は次のように述べています。 2008 年 7 月のオライリー オープンソース コンベンション (OSCON) での基調講演:
> 誰かが私のところに来て、実際に常時稼動する必要があり、一度に何年もダウンさせるわけにはいかない大規模なメッセージ処理システムを構築するために大金を払いたいと思ったら、私は迷わず Erlang を選ぶでしょう。それを組み込んでください。
> Elixir は、(Erlang 抽象形式経由で) BEAM バイト コードにコンパイルされるプログラミング言語です。
://en.wikipedia.org/wiki/Erlang_(programming_language)
> PhoenixはElixirで記述するWebフレームワーク。
> ちょうどRubyとRailsのようなもの。
://zenn.dev/hiroe_orz17/articles/647ec2155d8088
> Elixirは、低レイテンシで分散型のフォールトトレラントシステムや、Webや組み込みシステムの領域で成功を収めている、Erlang VMを利用します。
://elixir-lang.jp/
> OSネイティブなプロセスよりもはるかに軽量な「プロセス」を持ち、独自の実行環境(Erlang VM)上で動作する。
> また、Erlangのプロセスは他のプロセスからは分離されていて、メモリ領域を他のプロセスと共有することがなく、プロセス間でのデータ共有はメッセージパッシング機構を使用して行う。
> このため、Erlangではあるプロセスに問題が発生しても、他のプロセスに影響が及ぶことが少ない。
> こうした特徴から、Erlangではスケーラブルでリアルタイム性を持った、可用性の高いプログラムを構築できる。
://atmarkit.itmedia.co.jp/ait/articles/1608/30/news021.html
> Sun Microsystems の Web テクノロジー担当ディレクター、Tim Bray 氏は次のように述べています。 2008 年 7 月のオライリー オープンソース コンベンション (OSCON) での基調講演:
> 誰かが私のところに来て、実際に常時稼動する必要があり、一度に何年もダウンさせるわけにはいかない大規模なメッセージ処理システムを構築するために大金を払いたいと思ったら、私は迷わず Erlang を選ぶでしょう。それを組み込んでください。
> Elixir は、(Erlang 抽象形式経由で) BEAM バイト コードにコンパイルされるプログラミング言語です。
://en.wikipedia.org/wiki/Erlang_(programming_language)
> PhoenixはElixirで記述するWebフレームワーク。
> ちょうどRubyとRailsのようなもの。
://zenn.dev/hiroe_orz17/articles/647ec2155d8088
> Elixirは、低レイテンシで分散型のフォールトトレラントシステムや、Webや組み込みシステムの領域で成功を収めている、Erlang VMを利用します。
://elixir-lang.jp/
> OSネイティブなプロセスよりもはるかに軽量な「プロセス」を持ち、独自の実行環境(Erlang VM)上で動作する。
> また、Erlangのプロセスは他のプロセスからは分離されていて、メモリ領域を他のプロセスと共有することがなく、プロセス間でのデータ共有はメッセージパッシング機構を使用して行う。
> このため、Erlangではあるプロセスに問題が発生しても、他のプロセスに影響が及ぶことが少ない。
> こうした特徴から、Erlangではスケーラブルでリアルタイム性を持った、可用性の高いプログラムを構築できる。
://atmarkit.itmedia.co.jp/ait/articles/1608/30/news021.html
827デフォルトの名無しさん
2023/12/15(金) 13:35:08.42ID:hcZMsUIS 実際のところ何年もダウンさせない需要もないよ
どうせ時代に合わせてセキュリティーパッチを入れたりハードを交換したりしなきゃいけないし
そういう時に普通にやってる方法は運用しながら新しいプログラムを新ハードで動かしてデータをインポートしてデータが完全に同期したら新しい方のサーバーを公開する
それだけ
古いハードは使えるなら増強用として再利用したり別のところで使うしデータを完全に消去して中古として売ることもできる
どうせ時代に合わせてセキュリティーパッチを入れたりハードを交換したりしなきゃいけないし
そういう時に普通にやってる方法は運用しながら新しいプログラムを新ハードで動かしてデータをインポートしてデータが完全に同期したら新しい方のサーバーを公開する
それだけ
古いハードは使えるなら増強用として再利用したり別のところで使うしデータを完全に消去して中古として売ることもできる
828デフォルトの名無しさん
2023/12/15(金) 13:38:40.54ID:hcZMsUIS 要するにElixirの強みを活かせる場がないのに遅いという明確な弱点があるから流行らないというだけ
10万のプロセスが作れるとか一流のプロジェクトマネージャーが金と時間をかけて作れば何年もメンテ不要になるわずかな可能性があるとかそういうの求めてる場所ってほとんど無いから
10万のプロセスが作れるとか一流のプロジェクトマネージャーが金と時間をかけて作れば何年もメンテ不要になるわずかな可能性があるとかそういうの求めてる場所ってほとんど無いから
829デフォルトの名無しさん
2023/12/15(金) 19:44:55.47ID:OxJQfyKN 某准教授は一流のプロジェクトマネージャーということだな
830デフォルトの名無しさん
2023/12/15(金) 20:14:12.96ID:hcZMsUIS 何年も動いてるシステム作ったことあるの?
831デフォルトの名無しさん
2023/12/16(土) 14:21:28.83ID:f/oi2kts 【11万文字越え】プログラミング初心者に贈る即戦力ガイド
https://qiita.com/nuco_bk/items/27f5ad03d0c4b41241fc
高評価されてる様子な記事だけど
> def calc(a, b):
> sum = a + b
> return sum
↑が「引数のa, bがどのような変数を受け取るのかわかりません。」だそうで改善版が
> def add(first_integer, second_integer):
> total = first_integer + second_integer
> return total
という説明だけど、名前に型含めるとかいまどき正気かな?
def add(a: int, b: int) -> int:
return a + b
型ヒントで良くね?
> def print_fruits(fruits_name):
> print(fruits_name)
「この関数名なら「フルーツの名前を出力する」と認識することができ、可読性が高くなります。」だそうだけど
def print_fruits_name(fruits_name):
print(fruits_name)
フルーツの値段や重さじゃなくて名前を出力するならそれが分かる関数名にするべきだろう。
https://qiita.com/nuco_bk/items/27f5ad03d0c4b41241fc
高評価されてる様子な記事だけど
> def calc(a, b):
> sum = a + b
> return sum
↑が「引数のa, bがどのような変数を受け取るのかわかりません。」だそうで改善版が
> def add(first_integer, second_integer):
> total = first_integer + second_integer
> return total
という説明だけど、名前に型含めるとかいまどき正気かな?
def add(a: int, b: int) -> int:
return a + b
型ヒントで良くね?
> def print_fruits(fruits_name):
> print(fruits_name)
「この関数名なら「フルーツの名前を出力する」と認識することができ、可読性が高くなります。」だそうだけど
def print_fruits_name(fruits_name):
print(fruits_name)
フルーツの値段や重さじゃなくて名前を出力するならそれが分かる関数名にするべきだろう。
832デフォルトの名無しさん
2023/12/16(土) 14:23:22.83ID:f/oi2kts あとコメントで指摘されてるけど
> def add(int_1: int, int_2: int) -> int:
> return int_1 + int_2
>
> def print_num(int: int) -> str:
> print(f"This num is {int}")
>
> num: int = add(5, 10)
>
> print_num(num)
酷い。業務でプログラミングに携わった者の書いたコードとは思えん。
本とか読んで勉強はしてるんだろうけど理解して身についてる感じじゃないなあ。
> def add(int_1: int, int_2: int) -> int:
> return int_1 + int_2
>
> def print_num(int: int) -> str:
> print(f"This num is {int}")
>
> num: int = add(5, 10)
>
> print_num(num)
酷い。業務でプログラミングに携わった者の書いたコードとは思えん。
本とか読んで勉強はしてるんだろうけど理解して身についてる感じじゃないなあ。
833デフォルトの名無しさん
2023/12/16(土) 14:26:59.75ID:f/oi2kts 会社の宣伝として公開してる記事なんだろうけど社内でレビューすらやってない感じ。
834デフォルトの名無しさん
2023/12/16(土) 14:39:20.13ID:l3lyoDWU 返事がないところを見ると無いようだな
835デフォルトの名無しさん
2023/12/16(土) 14:41:58.89ID:rVs6zzQ4 記事を書く気持ちになれ
自分の利益のために記事を書くんだよ
それが学習したことを書くタイプの記事
従業員が学習したら会社の利益になる
自分の利益のために記事を書くんだよ
それが学習したことを書くタイプの記事
従業員が学習したら会社の利益になる
836デフォルトの名無しさん
2023/12/16(土) 14:53:08.81ID:8lOphjkY ハンガリアン流行らせたい勢がいるんだろ
837デフォルトの名無しさん
2023/12/16(土) 14:54:01.36ID:8lOphjkY >>835
それ公開する必要ある?
それ公開する必要ある?
838デフォルトの名無しさん
2023/12/16(土) 15:07:42.06ID:rVs6zzQ4839デフォルトの名無しさん
2023/12/16(土) 15:13:35.73ID:SKTafFG5 クソ記事は公開しないほうが良かろう。
840デフォルトの名無しさん
2023/12/16(土) 15:40:27.21ID:Tgc1PQC5841デフォルトの名無しさん
2023/12/16(土) 16:06:35.20ID:Ufkvmgs0 わかってしまってると(無意識に)省略してしまう
わからない人に向けてを意識しすぎると、クドくなる(どこまでクドくすればいいか難しい)
記事書いたことない奴にはわからんだろな
わからない人に向けてを意識しすぎると、クドくなる(どこまでクドくすればいいか難しい)
記事書いたことない奴にはわからんだろな
842デフォルトの名無しさん
2023/12/16(土) 16:13:51.23ID:CoPEXxa8 記事ではVSCodeも紹介してるけどVSCodeならPythonの型ヒント見て型情報の表示や警告出してくれるプラグインくらい当たり前にあるだろう知らんけど。
ハンガリアン勧める気がしれない。
記事の章が噛み合ってないよう見えるのは筆者の理解が浅いからだろうなあ。
ハンガリアン勧める気がしれない。
記事の章が噛み合ってないよう見えるのは筆者の理解が浅いからだろうなあ。
843デフォルトの名無しさん
2023/12/16(土) 17:09:54.66ID:y/jJ/G7Y844デフォルトの名無しさん
2023/12/16(土) 17:11:55.77ID:y/jJ/G7Y >>841
どこまでって対象読者を設定するもんだぞw
どこまでって対象読者を設定するもんだぞw
845デフォルトの名無しさん
2023/12/16(土) 17:23:08.70ID:GK+0OpB6 >>838
お前小学校の読書感想文の宿題であらすじ書いてただろ。
お前小学校の読書感想文の宿題であらすじ書いてただろ。
846デフォルトの名無しさん
2023/12/16(土) 17:25:16.67ID:pGV096fC https://qiita.com/zacky1972/items/810a7e8567dbd1688ae3
超初心者向けの問題がElixirを使うと難問に化ける模様
ほんとここまで使えない言語って他にあるのか?
超初心者向けの問題がElixirを使うと難問に化ける模様
ほんとここまで使えない言語って他にあるのか?
847デフォルトの名無しさん
2023/12/16(土) 17:27:54.04ID:vLHzsqrk848デフォルトの名無しさん
2023/12/16(土) 17:29:32.66ID:vLHzsqrk849デフォルトの名無しさん
2023/12/16(土) 18:01:33.39ID:GK+0OpB6 ID:vLHzsqrkが底なしの馬鹿であることは分かった
850デフォルトの名無しさん
2023/12/16(土) 18:08:08.94ID:2LPlrTT0 横からだけどID:vLHzsqrkのタイプにはインタラクティブな勉強会が必要だな
記事じゃダメだ(書く側でも読む側でも)
記事の数だけ量産して独り善がりするタイプ
記事じゃダメだ(書く側でも読む側でも)
記事の数だけ量産して独り善がりするタイプ
851デフォルトの名無しさん
2023/12/16(土) 18:13:12.55ID:2LPlrTT0 自分の他記事リンクでひたすらたらい回ししたり
内容がポエムだったり、何を読んだ勉強しただのリストだったり
とにかく数を書いてランクインしたいとしか見えない
内容がポエムだったり、何を読んだ勉強しただのリストだったり
とにかく数を書いてランクインしたいとしか見えない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 『しんちゃんと岸田さん』 [175344491]
- 【高市デイリー】 久しぶりにヤマザキデイリー行ったら 店内焼き立てパンの値段がバカ高くてワロタ。 晋さん、もう買えないよ…… [485983549]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 中国発日本行の航空券、491,000件(全体の32%)がキャンセルされたと判明。高市どうすんのこれ [603416639]
- 日本株、大暴落!!! [252835186]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
