[過去ログ]
Go language part 5 (1002レス)
Go language part 5 http://mevius.5ch.net/test/read.cgi/tech/1645915400/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
17: デフォルトの名無しさん [sage] 2022/02/27(日) 21:41:54.35 ID:PVy06kKY >>14 もしかして俺が前スレ962で単純に40MB足してたのが気になってたのなら申し訳ない。 あれは足しすぎだった。RSSの意味は以下。 https://stackoverflow.com/questions/7880784/what-is-rss-and-vsz-in-linux-memory-management 十分なメモリがある状況で普通に実行させた直後(スワップされてない状況)なら、RSSで問題ない。(はず) 以下は前スレ992内にある図だが https://commons.wikimedia.org/wiki/File:Table_of_x86_Registers_svg.svg これ全部を待避するのに1kB程度かかるらしく(真面目に数えれば正確な数値は出せるが、やる気無し) この分をOS側が待避するので、単純に言えばスレッド数*1kB程OS側のメモリを食ってる。 これがgoroutineだと必要ない(Goランタイム管轄で待避で、RSSに計上されてる)ので文句付けられてる。 だから公平に見るなら、goroutineはRSSそのままで良く、OSのthreadを使うならスレッド数*1KB程度追加かと。 (40MBはスレッド数*4kBにしてるので、多すぎ。 アクセスのない、単なる待避領域なので、ページ単位である必要はない。) そして関数呼び出しのオーバーヘッドについてはそこにモロに書いてあるな。(GitHub上ソースの17行目〜60行目) 0〜4Cycleのオーバーヘッドになる。 方式としては、スタックの底に96Bytes(=40+56)の領域があらかじめ確保してあって、 これらはメモリが足りない時に呼ばれるdeferproc()とmorestack()に必要なスタックサイズなのだが、 逆に言えば96Bytes以下のスタックしか使わない関数ならスタックポインタがそこを越えてなければ問題ないわけで、 以下チェックを通してる。(guardがスタック満タン-96Bytesのアドレスを示してる) > CMPQ guard, SP > JHI 3(PC) > MOVQ m->morearg, $(argsize << 32) > CALL morestack(SB) まあスタック増加がなければINT/BR/NOP/NOPなので、オーバーヘッドは通常1か2Cycleじゃないかと思うけども。 http://mevius.5ch.net/test/read.cgi/tech/1645915400/17
202: デフォルトの名無しさん [sage] 2022/03/12(土) 06:14:51.35 ID:f9B4ek7q ITの9年は長いでよ、ロートルには短いかもしれんが。 そして30年という長い年月を持ってしてもC++はLinuxカーネルに入れなかったのにRustは入った。この違いよ http://mevius.5ch.net/test/read.cgi/tech/1645915400/202
232: デフォルトの名無しさん [sage] 2022/03/19(土) 14:59:48.35 ID:lmd9ivJq >>231 解決した gocv 0.28.0 mingwgcc 8.1.0 go 1.8 で動いた http://mevius.5ch.net/test/read.cgi/tech/1645915400/232
297: デフォルトの名無しさん [sage] 2022/04/11(月) 18:36:29.35 ID:E/+8nzoc golangの機能追加によるビルド速度低下なんて他の言語のコンパイルの遅さに比べれば毛の生えたようなものでしょ・・・ ビルド速度とは関係ないが、1.18から関数の呼び出しがスタック参照ではなくレジスタ引数で呼べるようになったので 実行速度が5%-15%改善してる。 http://mevius.5ch.net/test/read.cgi/tech/1645915400/297
438: デフォルトの名無しさん [sage] 2022/06/26(日) 23:06:38.35 ID:yMoKMg46 別におすすめじゃないけどgomock使ってる gomockはinterface{}だらけで静的型チェックが効かないからたまにイラッとする http://mevius.5ch.net/test/read.cgi/tech/1645915400/438
642: デフォルトの名無しさん [sage] 2022/09/14(水) 20:14:22.35 ID:KrdCg/Z1 で、なんでそんなもんを導入したかというとそもそもジェネリックスがなかったから 「ジェネリクスがなくてもプログラムは書ける(キリッ」みたいなイキりにこだわって結局かえって醜いことになるっていうまるでド素人みたいな失敗 http://mevius.5ch.net/test/read.cgi/tech/1645915400/642
716: デフォルトの名無しさん [sage] 2022/12/28(水) 10:02:39.35 ID:/bZ5g76e https://github.com/jessevdk/go-flags http://mevius.5ch.net/test/read.cgi/tech/1645915400/716
927: デフォルトの名無しさん [sage] 2025/05/19(月) 01:34:27.35 ID:T/ZTGVq5 >>924 async/awaitがPromiseのsyntax sugarという話と 同期関数をPromiseでくくれば本当の非同期にできるかどうかは別の話 919の例は内部でsetTimeoutというノンブロッキングな処理しかしてないから問題ないだけ http://mevius.5ch.net/test/read.cgi/tech/1645915400/927
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.039s