잠시만 기다려 주세요

HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (888)  |  추천 및 재미 (154)  |  자료실 (20)  |  끄적거림 (520)  |  시나리오 (760)  |  드라마 대본 (248)  |  

2020년 10월 01일
지금 이 고통과 위기는 하느님께서 주시는 깨달음의 선물이다. '왜' 가 아닌... 여기서 난 어떻게 이겨낼 것인가를 스스로 깨달아야 한다. 시련은 하느님께서 주시는 너무나 큰 은총이다. - 바다아이
 




    golang

golang - golang Max number of goroutines, go 루틴 최대 개수 구하기.
이 름 : 바다아이   |   조회수 : 2104         짧은 주소 : https://www.bada-ie.com/su/?11591844198
자신의 시스템에서 굴릴 수 있는 go 루틴의 최대 개수를 구해 봅니다.
cpu와 ram 에 따라 달라지겠죠....


package main

import (
	"flag"
	"fmt"
	"os"
	"runtime"
	"time"
)

var n = flag.Int("n", 1e5, "Number of goroutines to create")

var ch = make(chan byte)
var counter = 0

func f() {
	counter++
	<-ch // Block this goroutine
}

func main() {
	flag.Parse()
	if *n <= 0 {
		fmt.Fprintf(os.Stderr, "invalid number of goroutines")
		os.Exit(1)
	}

	// Limit the number of spare OS threads to just 1
	runtime.GOMAXPROCS(1)

	// Make a copy of MemStats
	var m0 runtime.MemStats
	runtime.ReadMemStats(&m0)

	t0 := time.Now().UnixNano()
	for i := 0; i < *n; i++ {
		go f()
	}
	runtime.Gosched()
	t1 := time.Now().UnixNano()
	runtime.GC()

	// Make a copy of MemStats
	var m1 runtime.MemStats
	runtime.ReadMemStats(&m1)

	if counter != *n {
		fmt.Fprintf(os.Stderr, "failed to begin execution of all goroutines")
		os.Exit(1)
	}

	fmt.Printf("Number of goroutines: %d\n", *n)
	fmt.Printf("Per goroutine:\n")
	fmt.Printf("  Memory: %.2f bytes\n", float64(m1.Sys-m0.Sys)/float64(*n))
	fmt.Printf("  Time:   %f µs\n", float64(t1-t0)/float64(*n)/1e3)
}


출처 : https://stackoverflow.com/questions/8509152/max-number-of-goroutines
| |


      1 page / 6 page
번 호 카테고리 제 목 이름 조회수
173 golang , String Formatting 바다아이 285
172 golang rand.Intn , random, , . 바다아이 286
171 golang golang ... 바다아이 1449
170 golang golang gopath, goroot .. 바다아이 1120
169 golang golang ... Force download file example 바다아이 1595
168 golang golang , , cpu, memory, disk 바다아이 2317
167 golang golang , ... GOOS, GOARCH 바다아이 1637
166 golang golang checkbox ... 바다아이 1872
165 golang golang , , http .... 바다아이 1811
164 golang golang nil , nil , nil ... 바다아이 1908
163 golang 2 golang, go , .... golang .... 바다아이 2710
162 golang golang postgresql, mysql, mariadb ... ` Grave () .. .. 바다아이 1992
161 golang golang postgresql mysql, mariadb scan , null .. 바다아이 2071
160 golang golang , iconv 바다아이 2223
159 golang golang quote escape, unquote 바다아이 2137
158 golang golang , http errorLog , , ... 바다아이 2243
157 golang golang interface , 바다아이 2174
156 golang golang struct .... 바다아이 2306
155 golang golang map map , 바다아이 2163
154 golang golang map .... .... 바다아이 2132
153 golang golang slice copy 바다아이 2097
152 golang golang goto 바다아이 2175
151 golang golang slice sort , int, string, float64 바다아이 2236
150 golang URL Parsing, url . parse 바다아이 2307
149 golang golang , interface{} ... 바다아이 2223
148 golang golang interface to string, , , map slice json 바다아이 2075
147 golang golang How to convert JSON string to map and slice, json 바다아이 2230
146 golang golang , file write, Writing Files 바다아이 2355
145 golang golang Insert Line or String to File, , , , , 바다아이 2104
144 golang golang replace 바다아이 2193
| |








Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ FreeBSD + GoLang + PostgreSQL ]
서버위치 : vultr.com 서울  실행시간 : 0.06542
to webmaster... gogo sea. gogo sea.