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
665デフォルトの名無しさん
2023/12/06(水) 12:58:02.11ID:3feScvAM >>659
君はC言語しかできんの?
君はC言語しかできんの?
666デフォルトの名無しさん
2023/12/06(水) 14:43:54.71ID:JsHlZ4fk667デフォルトの名無しさん
2023/12/06(水) 16:30:05.85ID:RizWoKoD 昔のシューティングゲームなんか、方向は8方向しか無かったんだから斜めに進みたいならX,Y座標に加算する各ベクトルを0.7倍してやれば済むだけの話だったなぁ
でも敵の弾幕は16方向とかズルかった
まあ、パズルみたいに格子を進むゲームなら不用な処理なんだが
でも敵の弾幕は16方向とかズルかった
まあ、パズルみたいに格子を進むゲームなら不用な処理なんだが
668デフォルトの名無しさん
2023/12/06(水) 19:36:28.64ID:Y9yXTF6q669デフォルトの名無しさん
2023/12/06(水) 23:02:30.60ID:8JqK4Yrt >>666
効いてて草
効いてて草
670デフォルトの名無しさん
2023/12/07(木) 14:29:02.73ID:wNl2TimY 2π=180が1byteで収まって合理的
671デフォルトの名無しさん
2023/12/07(木) 14:58:43.59ID:fQltjmnX >>670
Cとかアセンブラで書いてる時代には、2π=256にすると、何周回っても補正がいらないんだよね、まあ、いまどきの言語だとエラーになるけどさ
Cとかアセンブラで書いてる時代には、2π=256にすると、何周回っても補正がいらないんだよね、まあ、いまどきの言語だとエラーになるけどさ
672デフォルトの名無しさん
2023/12/07(木) 16:29:19.68ID:78AJyp32673デフォルトの名無しさん
2023/12/07(木) 16:33:08.96ID:oY2pVPcB もしかして剰余知らない人?w
674デフォルトの名無しさん
2023/12/07(木) 17:42:06.78ID:ahX/pqE0 割算剰余算は現在のCPUでも非常に遅いため
定数で割算剰余算を行う場合は現在でも掛算加算シフトANDなどにコンパイラが置き換えています
特に定数2^nの剰余は&(2^n-1)で済むため高速です
もちろん256の場合は8bit演算をサポートしていればそれすら必要なくなります
定数で割算剰余算を行う場合は現在でも掛算加算シフトANDなどにコンパイラが置き換えています
特に定数2^nの剰余は&(2^n-1)で済むため高速です
もちろん256の場合は8bit演算をサポートしていればそれすら必要なくなります
675デフォルトの名無しさん
2023/12/07(木) 20:27:03.34ID:oY2pVPcB676デフォルトの名無しさん
2023/12/07(木) 21:05:51.14ID:fQltjmnX677デフォルトの名無しさん
2023/12/07(木) 21:58:03.58ID:wOldY3VJ 0.1+0.2を0.3ピッタリにしたいという要望に対しDecimal型使えって話と
90度や30度等正確に扱いたいという要望に対し角度型用意しろって話は
大して違うものではないんだけどラジアン派はカタクナだね。
与えられたものを何の疑問も持たずに使ってるブタ野郎だね。
90度や30度等正確に扱いたいという要望に対し角度型用意しろって話は
大して違うものではないんだけどラジアン派はカタクナだね。
与えられたものを何の疑問も持たずに使ってるブタ野郎だね。
678デフォルトの名無しさん
2023/12/07(木) 22:10:57.92ID:ahX/pqE0679デフォルトの名無しさん
2023/12/07(木) 22:17:13.85ID:wOldY3VJ 定数による整数除算がパフォーマンスに大きく影響するプログラムもそうはないと思うのでいまどきのコンパイラが定数除算を定数乗算+シフトに置き換える最適化をしてくれるのも大して必要があってのことではなくて開発者の趣味的なもんだと思うよ。
680デフォルトの名無しさん
2023/12/07(木) 22:52:22.96ID:78AJyp32681デフォルトの名無しさん
2023/12/07(木) 23:07:34.68ID:OOqJ6lun 壊れたレコードみたいなスレだねこのすれ
682デフォルトの名無しさん
2023/12/08(金) 00:29:46.04ID:1AT0BZX4683デフォルトの名無しさん
2023/12/08(金) 09:50:47.34ID:k3Bpg+TD radian使わずにdegreeで全部済ますのは中学生までだよな。
中学生までならdegreeはほぼ整数しか出て来ないしω
中学生までならdegreeはほぼ整数しか出て来ないしω
684デフォルトの名無しさん
2023/12/08(金) 10:40:19.77ID:LYFHy36X 12月1日にアドベントカレンダーが始まって記事が増えたのにラジアンのことしか話さなくなったな
685デフォルトの名無しさん
2023/12/08(金) 10:43:43.53ID:vnCtmrWX >>681
壊れたレコードって何ですか?(若者しぐさ
壊れたレコードって何ですか?(若者しぐさ
686デフォルトの名無しさん
2023/12/08(金) 12:42:14.73ID:2niISWES687デフォルトの名無しさん
2023/12/08(金) 13:38:51.95ID:corZECtM688デフォルトの名無しさん
2023/12/09(土) 08:18:49.84ID:OVj/qE5g 逆だぞw
お前が混ざってきた上に昔の話という条件も書けないアホだから支離滅裂で小馬鹿にされてるんだぞw
お前が混ざってきた上に昔の話という条件も書けないアホだから支離滅裂で小馬鹿にされてるんだぞw
689デフォルトの名無しさん
2023/12/09(土) 08:21:54.40ID:OVj/qE5g >>560
どう見ても昔話じゃなく今の話なんだよなあw
どう見ても昔話じゃなく今の話なんだよなあw
690デフォルトの名無しさん
2023/12/09(土) 14:00:24.54ID:/QienOD5 >>688
だから、昔の話しの方にわざわざ混ざって来なくていいってわかんねーのかよアホやなw
昔の話しかどうかもわからない貧相な脳ミソ
まだ条件をまともに把握できない貧相な脳ミソかわいそうw
ついでに日本語もまともに理解できないと
だから、昔の話しの方にわざわざ混ざって来なくていいってわかんねーのかよアホやなw
昔の話しかどうかもわからない貧相な脳ミソ
まだ条件をまともに把握できない貧相な脳ミソかわいそうw
ついでに日本語もまともに理解できないと
691デフォルトの名無しさん
2023/12/09(土) 15:12:02.71ID:DXmw58tM >>686
ブタがなんか言ってて笑えるw
ブタがなんか言ってて笑えるw
692デフォルトの名無しさん
2023/12/09(土) 15:40:18.97ID:4WPSHv3H チープなCPU積んでる組み込み系なら現役の話やね
693デフォルトの名無しさん
2023/12/09(土) 15:44:47.43ID:knfa6RUO このやり取り見てて怖いのは
これどっちもド素人ってことな
アマチュアさんの論点は面白いわ
これどっちもド素人ってことな
アマチュアさんの論点は面白いわ
694デフォルトの名無しさん
2023/12/09(土) 16:06:57.26ID:JLekGzLF >>685
壊れたレイディオだよな
壊れたレイディオだよな
695デフォルトの名無しさん
2023/12/09(土) 16:21:29.73ID:9/8Tko/o696デフォルトの名無しさん
2023/12/09(土) 19:31:40.40ID:OVj/qE5g 反論できなくなって話そらそうと必死なのに同じことしか言えないのは流石にダサいなw
そんなだからいまだにラディアン使えないんだよ
そんなだからいまだにラディアン使えないんだよ
697デフォルトの名無しさん
2023/12/09(土) 19:45:40.37ID:DXmw58tM https://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3
> 『ラディアン』(原題:Radiant)は、トニー・ヴァレントによるフランスの
> 漫画作品(バンド・デシネ)。本国では2013年より単行本が発売されており、
> 日本では2015年より邦訳版が刊行されている。
> 『ラディアン』(原題:Radiant)は、トニー・ヴァレントによるフランスの
> 漫画作品(バンド・デシネ)。本国では2013年より単行本が発売されており、
> 日本では2015年より邦訳版が刊行されている。
698デフォルトの名無しさん
2023/12/09(土) 19:54:16.97ID:DXmw58tM 浮動小数点数使って弧度法で角度を表すことに何の疑問も持たない人は
#include <iostream>
#include <numbers>
#include <cmath>
int main()
{
for (int i = 0; i <= 8; i++) {
double s = sin(i / 4.0 * std::numbers::pi);
double c = cos(i / 4.0 * std::numbers::pi);
printf("sin(%d/4π) = %19.16f cos(%d/4π) = %19.16f\n", i, s, i, c);
}
}
sin(0/4π) = 0.0000000000000000 cos(0/4π) = 1.0000000000000000
sin(1/4π) = 0.7071067811865475 cos(1/4π) = 0.7071067811865476
sin(2/4π) = 1.0000000000000000 cos(2/4π) = 0.0000000000000001
sin(3/4π) = 0.7071067811865476 cos(3/4π) = -0.7071067811865475
sin(4/4π) = 0.0000000000000001 cos(4/4π) = -1.0000000000000000
sin(5/4π) = -0.7071067811865475 cos(5/4π) = -0.7071067811865477
sin(6/4π) = -1.0000000000000000 cos(6/4π) = -0.0000000000000002
sin(7/4π) = -0.7071067811865477 cos(7/4π) = 0.7071067811865474
sin(8/4π) = -0.0000000000000002 cos(8/4π) = 1.0000000000000000
https://wandbox.org/permlink/osSsecrj4yVZmzVi
sin(1/4π)とsin(3/4π)の結果が一致しないことやsin(8/4π)が0.0ちょうどに
ならないことは気にしないんだろうか?
#include <iostream>
#include <numbers>
#include <cmath>
int main()
{
for (int i = 0; i <= 8; i++) {
double s = sin(i / 4.0 * std::numbers::pi);
double c = cos(i / 4.0 * std::numbers::pi);
printf("sin(%d/4π) = %19.16f cos(%d/4π) = %19.16f\n", i, s, i, c);
}
}
sin(0/4π) = 0.0000000000000000 cos(0/4π) = 1.0000000000000000
sin(1/4π) = 0.7071067811865475 cos(1/4π) = 0.7071067811865476
sin(2/4π) = 1.0000000000000000 cos(2/4π) = 0.0000000000000001
sin(3/4π) = 0.7071067811865476 cos(3/4π) = -0.7071067811865475
sin(4/4π) = 0.0000000000000001 cos(4/4π) = -1.0000000000000000
sin(5/4π) = -0.7071067811865475 cos(5/4π) = -0.7071067811865477
sin(6/4π) = -1.0000000000000000 cos(6/4π) = -0.0000000000000002
sin(7/4π) = -0.7071067811865477 cos(7/4π) = 0.7071067811865474
sin(8/4π) = -0.0000000000000002 cos(8/4π) = 1.0000000000000000
https://wandbox.org/permlink/osSsecrj4yVZmzVi
sin(1/4π)とsin(3/4π)の結果が一致しないことやsin(8/4π)が0.0ちょうどに
ならないことは気にしないんだろうか?
699デフォルトの名無しさん
2023/12/09(土) 19:58:58.90ID:DXmw58tM > 各種言語のライブラリを作ってるのはたいていラジアン派だがお前のようなアホは一人もいないぞ
このひとBoostとか.NET Frameworkとか知らないんだろうな。
#include <iostream>
#include <boost/math/special_functions/sin_pi.hpp>
#include <boost/math/special_functions/cos_pi.hpp>
int main()
{
for (int i = 0; i <= 8; i++) {
double s = boost::math::sin_pi(i / 4.0);
double c = boost::math::cos_pi(i / 4.0);
printf("sin(%d/4π) = %19.16f cos(%d/4π) = %19.16f\n", i, s, i, c);
}
}
sin(0/4π) = 0.0000000000000000 cos(0/4π) = 1.0000000000000000
sin(1/4π) = 0.7071067811865476 cos(1/4π) = 0.7071067811865476
sin(2/4π) = 1.0000000000000000 cos(2/4π) = 0.0000000000000000
sin(3/4π) = 0.7071067811865476 cos(3/4π) = -0.7071067811865476
sin(4/4π) = -0.0000000000000000 cos(4/4π) = -1.0000000000000000
sin(5/4π) = -0.7071067811865476 cos(5/4π) = -0.7071067811865476
sin(6/4π) = -1.0000000000000000 cos(6/4π) = 0.0000000000000000
sin(7/4π) = -0.7071067811865476 cos(7/4π) = 0.7071067811865476
sin(8/4π) = 0.0000000000000000 cos(8/4π) = 1.0000000000000000
https://wandbox.org/permlink/IEFafqP4uhbG2QWv
このひとBoostとか.NET Frameworkとか知らないんだろうな。
#include <iostream>
#include <boost/math/special_functions/sin_pi.hpp>
#include <boost/math/special_functions/cos_pi.hpp>
int main()
{
for (int i = 0; i <= 8; i++) {
double s = boost::math::sin_pi(i / 4.0);
double c = boost::math::cos_pi(i / 4.0);
printf("sin(%d/4π) = %19.16f cos(%d/4π) = %19.16f\n", i, s, i, c);
}
}
sin(0/4π) = 0.0000000000000000 cos(0/4π) = 1.0000000000000000
sin(1/4π) = 0.7071067811865476 cos(1/4π) = 0.7071067811865476
sin(2/4π) = 1.0000000000000000 cos(2/4π) = 0.0000000000000000
sin(3/4π) = 0.7071067811865476 cos(3/4π) = -0.7071067811865476
sin(4/4π) = -0.0000000000000000 cos(4/4π) = -1.0000000000000000
sin(5/4π) = -0.7071067811865476 cos(5/4π) = -0.7071067811865476
sin(6/4π) = -1.0000000000000000 cos(6/4π) = 0.0000000000000000
sin(7/4π) = -0.7071067811865476 cos(7/4π) = 0.7071067811865476
sin(8/4π) = 0.0000000000000000 cos(8/4π) = 1.0000000000000000
https://wandbox.org/permlink/IEFafqP4uhbG2QWv
700デフォルトの名無しさん
2023/12/09(土) 23:20:50.00ID:KlOFsEHe701デフォルトの名無しさん
2023/12/09(土) 23:25:33.94ID:+PH/QYJf > コンピュータの計算では「0.1+0.2」は「0.3」になりません。
と断言しちゃう奴も
> 各種言語のライブラリを作ってるのはたいていラジアン派だがお前のようなアホは一人もいないぞ
と言い切っちゃう奴も己の狭い知識が世の中の全てと勘違いしてる点で同類だよなあ。
と断言しちゃう奴も
> 各種言語のライブラリを作ってるのはたいていラジアン派だがお前のようなアホは一人もいないぞ
と言い切っちゃう奴も己の狭い知識が世の中の全てと勘違いしてる点で同類だよなあ。
702デフォルトの名無しさん
2023/12/10(日) 00:04:11.75ID:zoYXXcKe >>699
こうなった
#include <iostream>
#include <boost/math/special_functions/sin_pi.hpp>
#include <boost/math/special_functions/cos_pi.hpp>
int main()
{
for (int i = 0; i <= 12; i++) {
double s = boost::math::sin_pi(i / 6.0);
double c = boost::math::cos_pi(i / 6.0);
printf("sin(%d/6π) = %19.16f cos(%d/6π) = %19.16f\n", i, s, i, c);
}
}
sin(0/6π) = 0.0000000000000000 cos(0/6π) = 1.0000000000000000
sin(1/6π) = 0.5000000000000000 cos(1/6π) = 0.8660254037844387
sin(2/6π) = 0.8660254037844386 cos(2/6π) = 0.5000000000000000
sin(3/6π) = 1.0000000000000000 cos(3/6π) = 0.0000000000000000
sin(4/6π) = 0.8660254037844387 cos(4/6π) = -0.4999999999999999
sin(5/6π) = 0.4999999999999999 cos(5/6π) = -0.8660254037844387
sin(6/6π) = -0.0000000000000000 cos(6/6π) = -1.0000000000000000
sin(7/6π) = -0.5000000000000002 cos(7/6π) = -0.8660254037844385
sin(8/6π) = -0.8660254037844385 cos(8/6π) = -0.5000000000000002
sin(9/6π) = -1.0000000000000000 cos(9/6π) = 0.0000000000000000
sin(10/6π) = -0.8660254037844385 cos(10/6π) = 0.5000000000000002
sin(11/6π) = -0.5000000000000002 cos(11/6π) = 0.8660254037844385
sin(12/6π) = 0.0000000000000000 cos(12/6π) = 1.0000000000000000
こうなった
#include <iostream>
#include <boost/math/special_functions/sin_pi.hpp>
#include <boost/math/special_functions/cos_pi.hpp>
int main()
{
for (int i = 0; i <= 12; i++) {
double s = boost::math::sin_pi(i / 6.0);
double c = boost::math::cos_pi(i / 6.0);
printf("sin(%d/6π) = %19.16f cos(%d/6π) = %19.16f\n", i, s, i, c);
}
}
sin(0/6π) = 0.0000000000000000 cos(0/6π) = 1.0000000000000000
sin(1/6π) = 0.5000000000000000 cos(1/6π) = 0.8660254037844387
sin(2/6π) = 0.8660254037844386 cos(2/6π) = 0.5000000000000000
sin(3/6π) = 1.0000000000000000 cos(3/6π) = 0.0000000000000000
sin(4/6π) = 0.8660254037844387 cos(4/6π) = -0.4999999999999999
sin(5/6π) = 0.4999999999999999 cos(5/6π) = -0.8660254037844387
sin(6/6π) = -0.0000000000000000 cos(6/6π) = -1.0000000000000000
sin(7/6π) = -0.5000000000000002 cos(7/6π) = -0.8660254037844385
sin(8/6π) = -0.8660254037844385 cos(8/6π) = -0.5000000000000002
sin(9/6π) = -1.0000000000000000 cos(9/6π) = 0.0000000000000000
sin(10/6π) = -0.8660254037844385 cos(10/6π) = 0.5000000000000002
sin(11/6π) = -0.5000000000000002 cos(11/6π) = 0.8660254037844385
sin(12/6π) = 0.0000000000000000 cos(12/6π) = 1.0000000000000000
703デフォルトの名無しさん
2023/12/10(日) 01:52:17.90ID:K18bkLWA 1/6はdoubleで正確に表せられないからそれやりたかったら分数型か度数法採用した三角関数使えって説明されないとわからん人かな
705デフォルトの名無しさん
2023/12/10(日) 03:29:27.52ID:1SmlZO1k > 分かってるよ
> やってみただけ
お前顔真っ赤だなw
> やってみただけ
お前顔真っ赤だなw
706デフォルトの名無しさん
2023/12/10(日) 04:18:03.31ID:IOBSQ4pi707デフォルトの名無しさん
2023/12/10(日) 09:33:45.43ID:sajOyEd/ >>701
> コンピュータの計算では「0.1+0.2」は「0.3」になりません。
どこのレスの引用だよ
まだ条件をまともに把握できない貧相な脳ミソかわいそうw
ついでに日本語もまともに理解できないと
> コンピュータの計算では「0.1+0.2」は「0.3」になりません。
どこのレスの引用だよ
まだ条件をまともに把握できない貧相な脳ミソかわいそうw
ついでに日本語もまともに理解できないと
708デフォルトの名無しさん
2023/12/10(日) 12:08:34.40ID:1MxEINjf709デフォルトの名無しさん
2023/12/10(日) 12:41:43.11ID:gdYIu2m3710デフォルトの名無しさん
2023/12/10(日) 12:51:11.53ID:yvfeQZ7U >>708
> > 浮動小数点数使って弧度法で角度を表すことに何の疑問も持たない人は
> > sin(1/4π)とsin(3/4π)の結果が一致しないことやsin(8/4π)が0.0ちょうどに
ならないことは気にしないんだろうか
> 弧度法関係ないから
浮動小数点数で1/4π等が正確に表せられない弧度法の問題なんだがお前驚くほどの馬鹿だな。
> > 浮動小数点数使って弧度法で角度を表すことに何の疑問も持たない人は
> > sin(1/4π)とsin(3/4π)の結果が一致しないことやsin(8/4π)が0.0ちょうどに
ならないことは気にしないんだろうか
> 弧度法関係ないから
浮動小数点数で1/4π等が正確に表せられない弧度法の問題なんだがお前驚くほどの馬鹿だな。
711デフォルトの名無しさん
2023/12/10(日) 13:10:58.57ID:1MxEINjf 710 は相手にされなくなった複オジか
712デフォルトの名無しさん
2023/12/10(日) 13:22:10.29ID:GDhODx6c ID:1MxEINjf は生きてて申し訳ないと思わないのかな
713デフォルトの名無しさん
2023/12/10(日) 14:17:38.67ID:1MxEINjf 複オジは否定しないんだな
714デフォルトの名無しさん
2023/12/10(日) 15:28:56.92ID:cr9NbQ30 言われたことを認めると負けたことになってしまうので
相手をレッテル貼りしてなんか言い返したつもりになってんのねw
相手をレッテル貼りしてなんか言い返したつもりになってんのねw
715デフォルトの名無しさん
2023/12/10(日) 16:06:29.55ID:sajOyEd/716デフォルトの名無しさん
2023/12/10(日) 20:19:31.37ID:MqU2QoF1 256度だと誤差が出ないと思ってる病気の人はどこの病院にいるの?w
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
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- でもこんなに高市がやらかしても中東みたいにミサイル飛んできたりしないから東アジアってクッソ平和だよなwwwwwwwwwwwwwwww [271912485]
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- ほかほかご飯にかけるとうまいもの一覧
- 🏡
- 「これが完成された醜い姿である>>1」←これなに?
