Goについて扱うスレッドです。
GoはGoogleによって開発された言語です。
公式
https://golang.org
公式ドキュメント
https://golang.org/doc/
公式外パッケージドキュメント
https://godoc.org
ブラウザ上で試し書き
https://play.golang.org
※前スレ
Go language part 4
https://mevius.5ch.net/test/read.cgi/tech/1605467680/
探検
Go language part 5
レス数が1000を超えています。これ以上書き込みはできません。
2022/02/27(日) 07:43:20.04ID:uWHjNeVw
971デフォルトの名無しさん
2025/05/20(火) 02:25:32.98ID:q97OvMDE 大量の非同期タスクで最も性能が出るのはRustで決着がついている
CDNシェア世界トップのCloudflareも従来のnginxを捨ててRust製に変更して性能を大幅に高めている
先日githubにRustソースコードも公開された
以下はそのまえの記事
Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に
https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html
CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
同社自身がRust製のHTTPプロキシである「Pingora」を開発し利用していることを明らかにしました。
Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。
CDNシェア世界トップのCloudflareも従来のnginxを捨ててRust製に変更して性能を大幅に高めている
先日githubにRustソースコードも公開された
以下はそのまえの記事
Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に
https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html
CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
同社自身がRust製のHTTPプロキシである「Pingora」を開発し利用していることを明らかにしました。
Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。
972デフォルトの名無しさん
2025/05/20(火) 02:44:02.44ID:Wybyn9P/ Perlに依存してるwww
973デフォルトの名無しさん
2025/05/20(火) 08:09:09.31ID:bVe5xETf >>971
それいつもの再設計で良くなったパターンじゃなくて?
それいつもの再設計で良くなったパターンじゃなくて?
974デフォルトの名無しさん
2025/05/20(火) 08:14:17.18ID:ZTQVFMJe 機能は絞ってるんだろうな
975デフォルトの名無しさん
2025/05/20(火) 08:22:55.01ID:Gk4G5H2z >>971
最速と言われてきたNGINXの3倍速かよ
最速と言われてきたNGINXの3倍速かよ
976デフォルトの名無しさん
2025/05/20(火) 10:42:26.74ID:SbcnGbeK 原文読んだけど
https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/
- コネクションプール戦略の改善により遅延を削減できた
- NginxのLuaモジュールをRustに置き換えたことでCPUとメモリの使用量を削減できた
Rustだからというよりアーキテクチャの改善と汎用性や柔軟性を犠牲にした最適化でパフォーマンスを改善したってことだ
全体として原文はRust最強みたいな変な誤解をされないように注意深く書かれているから、ちゃんとその辺りを理解してあげないと失礼
https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/
- コネクションプール戦略の改善により遅延を削減できた
- NginxのLuaモジュールをRustに置き換えたことでCPUとメモリの使用量を削減できた
Rustだからというよりアーキテクチャの改善と汎用性や柔軟性を犠牲にした最適化でパフォーマンスを改善したってことだ
全体として原文はRust最強みたいな変な誤解をされないように注意深く書かれているから、ちゃんとその辺りを理解してあげないと失礼
977デフォルトの名無しさん
2025/05/20(火) 11:16:09.13ID:Y8vT9Doa 遅いGoやC#などで作っても勝てないし
C/C++で非同期プログラミングは未だに様々な問題を抱えていて不利なので
速さも環境も整っているRust一択になっている状況
C/C++で非同期プログラミングは未だに様々な問題を抱えていて不利なので
速さも環境も整っているRust一択になっている状況
978デフォルトの名無しさん
2025/05/20(火) 17:31:30.72ID:qgCJRvxW クラウドフレアはFPGAを使うべきでは?
LuaスクリプトよりRustのほうが速いという主張も良くわかりませんでした
それは当たり前では?
LuaスクリプトよりRustのほうが速いという主張も良くわかりませんでした
それは当たり前では?
979デフォルトの名無しさん
2025/05/20(火) 22:34:48.64ID:vbQ41r/k >>967
単純に、「重い」と認識できてない馬鹿と、分かってても変更しない意識高い系馬鹿の合わせ技でしょ
1995時点で「お前らのマルチスレッドはスイッチングが重すぎてまるで機能していない」と看破できたのはJSだけ
大半の言語はこれを認め、JSと同様に「手動」で軽量化も可能なよう、async文法を導入した
ただし実際、手間が増えてるのと、将来的にOSレベルでのスイッチングが軽くなった場合に、asyncで書かれたコードはゴミになる
だから「抽象度が高い状態で書きたいのだ!!!」「OSで『自動』的にやらせたほうがコード資産の価値は高いのだ!!!」という言い訳はできる
(問題は軽くなる予定が全く無いことだが)
この意味では、「asyncが必要なのではなく、OSがポンコツすぎるのだ!!!」と責任転嫁することも出来るはずだが、
誰もやらないところを見ると、OSは限界までは軽いんだろうな
そして逆に、アプリ側でasync必須でスケジューラも持ってれば、OS側で持ってるのは無駄なので削除して軽量化することは出来る
chromiumOSが奇妙に軽いのはこの辺かもな(=JS専用OS)
単純に、「重い」と認識できてない馬鹿と、分かってても変更しない意識高い系馬鹿の合わせ技でしょ
1995時点で「お前らのマルチスレッドはスイッチングが重すぎてまるで機能していない」と看破できたのはJSだけ
大半の言語はこれを認め、JSと同様に「手動」で軽量化も可能なよう、async文法を導入した
ただし実際、手間が増えてるのと、将来的にOSレベルでのスイッチングが軽くなった場合に、asyncで書かれたコードはゴミになる
だから「抽象度が高い状態で書きたいのだ!!!」「OSで『自動』的にやらせたほうがコード資産の価値は高いのだ!!!」という言い訳はできる
(問題は軽くなる予定が全く無いことだが)
この意味では、「asyncが必要なのではなく、OSがポンコツすぎるのだ!!!」と責任転嫁することも出来るはずだが、
誰もやらないところを見ると、OSは限界までは軽いんだろうな
そして逆に、アプリ側でasync必須でスケジューラも持ってれば、OS側で持ってるのは無駄なので削除して軽量化することは出来る
chromiumOSが奇妙に軽いのはこの辺かもな(=JS専用OS)
980デフォルトの名無しさん
2025/05/20(火) 22:35:11.14ID:vbQ41r/k > プリエンプティブ
> 協調スケジューリング
改めて考えてみたが、「同期APIを使える」くらいしか利点を思いつかない
協調スケジューリングの場合は「非同期API強制」となるからね
JSは2013年頃でも「SLEEPは?」とか言われてたし、889のような馬鹿げたブログ(2015)を書くやつも居るしで、
非同期アレルギーはそうならなかったやつの想定以上に激しいのかもしれん
(俺に言わせれば、SLEEPは別の書き方があるからそれでいい、Promiseはゴミ、コールバック地獄になるのは腕前の問題、
この辺JSは全関数がクロージャなのだから適当に関数ぶった切って書き、コールグラフを整理すれば回避出来る、となるが)
そして出自がJSというのも当たりは悪い
フニャフニャ文法、階層が関数、専用構文とprivateのないオブジェクト指向、
ダックタイピング、動的に変化するthis、他型のメソッドも使える、で、
正統派オブジェクト指向のC++/Java/C#勢からすれば十分異端すぎるのに、更に、非同期、イベントドリブン、だからね
JSモデルが想定以上に速かったから、他言語開発者はJSを研究せざるを得ず、
何じゃあこれはーーー!!!となるのは分かる(=JSアレルギーの発症
俺の場合は、え?こんなので大丈夫なのか?→あれ?意外と問題ねえな→実は他言語が無駄に冗長過ぎただけでは…、となったが)
まあブレンダン・アイクは本当に上手く攻略したな、とは思うよ
とはいえ、『同速なら』同期APIのコードの方がマシなのは事実だから、
同期API派はさっさと同速になる方向の努力をすべきだと思うがな
> 協調スケジューリング
改めて考えてみたが、「同期APIを使える」くらいしか利点を思いつかない
協調スケジューリングの場合は「非同期API強制」となるからね
JSは2013年頃でも「SLEEPは?」とか言われてたし、889のような馬鹿げたブログ(2015)を書くやつも居るしで、
非同期アレルギーはそうならなかったやつの想定以上に激しいのかもしれん
(俺に言わせれば、SLEEPは別の書き方があるからそれでいい、Promiseはゴミ、コールバック地獄になるのは腕前の問題、
この辺JSは全関数がクロージャなのだから適当に関数ぶった切って書き、コールグラフを整理すれば回避出来る、となるが)
そして出自がJSというのも当たりは悪い
フニャフニャ文法、階層が関数、専用構文とprivateのないオブジェクト指向、
ダックタイピング、動的に変化するthis、他型のメソッドも使える、で、
正統派オブジェクト指向のC++/Java/C#勢からすれば十分異端すぎるのに、更に、非同期、イベントドリブン、だからね
JSモデルが想定以上に速かったから、他言語開発者はJSを研究せざるを得ず、
何じゃあこれはーーー!!!となるのは分かる(=JSアレルギーの発症
俺の場合は、え?こんなので大丈夫なのか?→あれ?意外と問題ねえな→実は他言語が無駄に冗長過ぎただけでは…、となったが)
まあブレンダン・アイクは本当に上手く攻略したな、とは思うよ
とはいえ、『同速なら』同期APIのコードの方がマシなのは事実だから、
同期API派はさっさと同速になる方向の努力をすべきだと思うがな
981デフォルトの名無しさん
2025/05/20(火) 22:36:05.33ID:vbQ41r/k >>976
> skipping TCP and TLS handshakes required on a new connection.
いやこれってありなんか?とは思ったが、GETならどうせ同じ(はず)だからいいのか?
となると、リバースプロキシって、誰かの操作を横から盗み見してる感じになるのか?
> 原文はRust最強みたいな変な誤解をされないように注意深く書かれている
信者が発狂するからといってオブラートに包みすぎ。原文は以下
> This is not because we run code faster.
まあCと比べればRustも遅いから、これはどうにもならんが
> skipping TCP and TLS handshakes required on a new connection.
いやこれってありなんか?とは思ったが、GETならどうせ同じ(はず)だからいいのか?
となると、リバースプロキシって、誰かの操作を横から盗み見してる感じになるのか?
> 原文はRust最強みたいな変な誤解をされないように注意深く書かれている
信者が発狂するからといってオブラートに包みすぎ。原文は以下
> This is not because we run code faster.
まあCと比べればRustも遅いから、これはどうにもならんが
982デフォルトの名無しさん
2025/05/20(火) 22:43:28.20ID:5IEvPsHE Rustスレでやろうぜ
983デフォルトの名無しさん
2025/05/20(火) 22:44:31.07ID:5IEvPsHE GoクンのHPはもうカツカツよ🥺
984デフォルトの名無しさん
2025/05/20(火) 23:12:32.78ID:C5OyrGcX985デフォルトの名無しさん
2025/05/20(火) 23:47:56.43ID:MuN0b/Nd986デフォルトの名無しさん
2025/05/21(水) 10:46:48.11ID:va6/rMba MITM
987デフォルトの名無しさん
2025/05/28(水) 04:53:46.40ID:TwWA6F4N つるつるわれめ
988デフォルトの名無しさん
2025/05/30(金) 13:31:36.30ID:XWQpoVmB 梅八日
989デフォルトの名無しさん
2025/06/02(月) 21:47:55.19ID:wcsvfY5O 適当なんだけどこれであってる?
肯定/訂正してくれたら嬉しい
1. ローカル変数(sliceはそのヘッド)はescape analysisでスタックやレジスタ割り当て
2. ヒープの頻繁確保解放は総量上限が分かるならプール
3. ロジック的に寿命が長いやつはそもそもGC影響は軽微
肯定/訂正してくれたら嬉しい
1. ローカル変数(sliceはそのヘッド)はescape analysisでスタックやレジスタ割り当て
2. ヒープの頻繁確保解放は総量上限が分かるならプール
3. ロジック的に寿命が長いやつはそもそもGC影響は軽微
990デフォルトの名無しさん
2025/06/02(月) 21:51:04.00ID:wcsvfY5O 配列/スライスの添え字アクセスは境界チェックされる
991デフォルトの名無しさん
2025/06/02(月) 21:52:50.52ID:wcsvfY5O dangling pointerは発生しない
992デフォルトの名無しさん
2025/06/05(木) 21:11:14.75ID:ZsUexMhd Go言語がエラー処理構文の導入を「一旦諦める」と宣言 — 7年にわたる検討の末コンセンサス得られず
https://techfeed.io/entries/6840c4096749026b87829bb9
https://techfeed.io/entries/6840c4096749026b87829bb9
993デフォルトの名無しさん
2025/06/05(木) 21:36:51.37ID:YBXwJM9k 今のままでいいぞ。例外処理はワイには100年早い
994デフォルトの名無しさん
2025/06/05(木) 23:37:51.96ID:Hk1mFN4z >>992
(他言語含めて)前から思ってるんだけど、コードは縦に書くもの(=改行するもの)だと洗脳されてるよな
読みたくないコードはアナログに右に書けばだいたい解決する
今更「一行は80文字まで」等の化石コーディングルールを脳死で守ってるなら尚更
func printSum(a, b string) error {
x, err := strconv.Atoi(a); if err != nil {return err}
y, err := strconv.Atoi(b); if err != nil {return err}
fmt.Println("result:", x+y)
return nil
}
これでスッキリだろ
生理的に許せんならフォーマッタ使えで終わるし(逆も然りだが)
(他言語含めて)前から思ってるんだけど、コードは縦に書くもの(=改行するもの)だと洗脳されてるよな
読みたくないコードはアナログに右に書けばだいたい解決する
今更「一行は80文字まで」等の化石コーディングルールを脳死で守ってるなら尚更
func printSum(a, b string) error {
x, err := strconv.Atoi(a); if err != nil {return err}
y, err := strconv.Atoi(b); if err != nil {return err}
fmt.Println("result:", x+y)
return nil
}
これでスッキリだろ
生理的に許せんならフォーマッタ使えで終わるし(逆も然りだが)
995デフォルトの名無しさん
2025/06/06(金) 00:36:59.99ID:pqJl8iQF printしてpanicしてエラースッキリ
996デフォルトの名無しさん
2025/06/06(金) 00:55:09.52ID:56KGrjta >>994
フォーマット以前にサンプルとはいえそんなクソコードを書くやつのほうが生理的に許せんわ
フォーマット以前にサンプルとはいえそんなクソコードを書くやつのほうが生理的に許せんわ
997デフォルトの名無しさん
2025/06/06(金) 00:56:27.07ID:MkNISVMm go lint
998デフォルトの名無しさん
2025/06/06(金) 01:10:46.44ID:7Uf7u6qh999デフォルトの名無しさん
2025/06/06(金) 10:14:03.88ID:EuijCvJq IDEに見た目の折りたたみさせればよくね
1000デフォルトの名無しさん
2025/06/08(日) 09:10:52.84ID:nTaYMW6S 質問いいですか?
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1197日 1時間 27分 33秒
新しいスレッドを立ててください。
life time: 1197日 1時間 27分 33秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★4 [♪♪♪★]
- 高市早苗首相、独自貫いた1カ月 会食ゼロ、議員宿舎で勉強漬け「飲んでる暇があれば、政策を練り、資料を読みたい」 [Hitzeschleier★]
- 【MLB】大谷翔平、山本由伸、佐々木朗希WBC出場辞退が確実に! トランプ大統領「ロス五輪最優先」指令 どうなる侍ジャパン [牛丼★]
- 岐阜発激安スーパー「バロー」横浜にオープン! [おっさん友の会★]
- 【英FT】国土の大部分を日本の残忍な占領下におかれたという苦しみの記憶を今なお抱え続けている中国 [1ゲットロボ★]
- 【TV】来年こそ終わってほしいご長寿番組、紅白らTOP10発表 [牛丼★]
- 【NJPW】新日本プロレスワールド part.2412
- 他サポ 2025-261
- ハム専ファンフェス
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap600
- 【D専】
- こいせん 全レス転載禁止
- 高市は村山談話の戦争加害の反省に対し糾弾してたのを見て本質は昔から変わってないって中国からは思われてるし無理だよ [943688309]
- 高市早苗「G20サミット、なめられない服を選びました。外交交渉でマウント取れる服買わないとなぁ」大炎上★3 [165981677]
- 【んな専🏡】ルーナイトとたこ焼きパーティするのらぁ(・o・🍬)【ホロライブ▶】
- Xのネトウヨは大体高齢独身。見てるこっちが切なくなる [805596214]
- 【悲報】高市早苗内閣自民党支持率、30.7%にwwwwwwwwwwwww [339712612]
- 中国、高市早苗を国連に提訴。「国際社会に問う」 [271912485]
