ChanServ changed the topic of #lowempire to: Low Level Empire | This channel was created for Algorithms, Compilers, OS, Hardware, CS theory stuff (low-level) | be patient, polite | don't do off top | Ask your question | Paste your codes/long texts https://paste.debian.net/ or "echo just testing! | nc termbin.com 9999" | Logs: https://freenode.irclog.whitequark.org/lowempire
lucid_0x80 has joined #lowempire
marlin has quit [Ping timeout: 256 seconds]
marlin has joined #lowempire
<marlin>
bro men indi yatiram :) ama saat 11-e 5 dene alarm var, sende bir zeng edersende pls durmagim ucun :)
<lucid_0x80>
okay :-D
<marlin>
hazirsan bro? :)
<lucid_0x80>
her zaman :-D
<marlin>
ejdahaaa :D
<marlin>
men yatim ozmaan
<marlin>
:)
<marlin>
birazdan goruserik :D sen yaxsi tez durmusan bele?)
marlin has quit [Ping timeout: 260 seconds]
dumenci has joined #lowempire
ascii has joined #lowempire
<ascii>
hi guys )))
<dumenci>
salamlar
lucid_0x80 has quit [Ping timeout: 246 seconds]
<ascii>
netersen mellim???
<dumenci>
shukur brat
<dumenci>
sen necesen?
<ascii>
link zad yoxdu hele?
<ascii>
shukur))\
<ascii>
\]\
<dumenci>
nope
<dumenci>
birazdan baslayacayiq
dumenci has quit [Remote host closed the connection]
marlin has joined #lowempire
marlin has quit [Client Quit]
marlin has joined #lowempire
lucid_0x80 has joined #lowempire
<ascii>
lucid mence sen bu internetnen hewnede :DDD
<marlin>
aa onun hec bir seyi yoxdur ki non blocking olsun?
<lucid_0x80>
non blockingi
<lucid_0x80>
goroutine
<lucid_0x80>
ile edirlerde
<marlin>
hee okey okey aydidnir dogrusan
<lucid_0x80>
cox
<marlin>
bes 10 gb fayli gozleyceksen sen?
<lucid_0x80>
ejdaha ideal
<lucid_0x80>
dusunublere
<lucid_0x80>
yox
<lucid_0x80>
gozlemeyeceksen
<marlin>
onda gozlmek olmayacqda
<lucid_0x80>
scheduler blocking goren
<lucid_0x80>
kimi
<marlin>
aha
<lucid_0x80>
bu goroutinei
<lucid_0x80>
elave edecek
<lucid_0x80>
wait queue-a
<lucid_0x80>
gedib novbeti goroutinei
<lucid_0x80>
cekib
<lucid_0x80>
baslayacaq icra etmeyue
<lucid_0x80>
bitmish
<lucid_0x80>
goroutinei
<marlin>
aha wait queunu kimse gedib check edir?
<lucid_0x80>
aha
<lucid_0x80>
thread ozu edir
<marlin>
okey bes main applciation ozu gorotunie dir sence?
<marlin>
bes biz gortunie yazmasaq o onda adi blocking kimi gedecekde
<marlin>
birinci cumlem eslinde duz olmalid
<marlin>
main application adi bir thread-de isleycek
<lucid_0x80>
he
<lucid_0x80>
main thread ozude
<lucid_0x80>
bir thread
<lucid_0x80>
sayilir
<marlin>
sen istedyin geder bildiyim qeder gorotuniler cixarda bilersen
<marlin>
maraqli duzeldibler cox qerbidir
<lucid_0x80>
2. Goroutine (G) hand-off (G.nextg). Worker threads (M's) frequently hand-off runnable goroutines between each other, this may lead to increased latencies and additional overheads. Every M must be able to execute any runnable G, in particular the M that just created the G.
<marlin>
orda chanllerde var
<lucid_0x80>
Every Go program is also given an initial Goroutine (“G”), which is the path of execution for a Go program. A Goroutine is essentially a Coroutine but this is Go, so we replace the letter “C” with a “G” and we get the word Goroutine. You can think of Goroutines as application-level threads and they are similar to OS Threads in many ways. Just as OS Threads are context-switched on and off a core, Goroutines are context-
<lucid_0x80>
switched on and off an M.
<marlin>
aaaaa super sohbetdir
<lucid_0x80>
buna bax
<lucid_0x80>
The last piece of the puzzle is the run queues. There are two different run queues in the Go scheduler: the Global Run Queue (GRQ) and the Local Run Queue (LRQ). Each P is given a LRQ that manages the Goroutines assigned to be executed within the context of a P. These Goroutines take turns being context-switched on and off the M assigned to that P. The GRQ is for Goroutines that have not been assigned to a P yet. There is a process to move
<lucid_0x80>
Goroutines from the GRQ to a LRQ that we will discuss later.
<lucid_0x80>
Waiting: This means the Goroutine is stopped and waiting for something in order to continue. This could be for reasons like waiting for the operating system (system calls) or synchronization calls (atomic and mutex operations). These types of latencies are a root cause for bad performance.
<lucid_0x80>
Runnable: This means the Goroutine wants time on an M so it can execute its assigned instructions. If you have a lot of Goroutines that want time, then Goroutines have to wait longer to get time. Also, the individual amount of time any given Goroutine gets is shortened as more Goroutines compete for time. This type of scheduling latency can also be a cause of bad performance.
<marlin>
prosta men pythonla qarisidiram temalari vallah, python da bu bele deyil deyene mene qeribe gelir, ele bilirem hamsi eyni olmladir, gzode oxuyum bunalri
<lucid_0x80>
heee
<lucid_0x80>
pythonda
<lucid_0x80>
tamam ferqlidir
<lucid_0x80>
lool :-D
<lucid_0x80>
eyni men shusha
<lucid_0x80>
ucun
<lucid_0x80>
dusunduyum
<marlin>
onda async await keyword olmadan implemnt edibler
<lucid_0x80>
conceptdiye
<lucid_0x80>
etdikler i:-D
<lucid_0x80>
heee burda async await
<lucid_0x80>
ele goroutinedir
<marlin>
cox qeribedir cox qeyri adi yanasiblar
<lucid_0x80>
cox
<lucid_0x80>
dehset
<lucid_0x80>
tema
<lucid_0x80>
etaga
<lucid_0x80>
eyni menim dusunduyum
<lucid_0x80>
seydir
<lucid_0x80>
gozle tam oxuyum
<lucid_0x80>
bitirim
<lucid_0x80>
izah edecem
<lucid_0x80>
temani :-D
<marlin>
:)aha yaxsi bas getsin ora snede))
<marlin>
men 3 gun bundan qabag baxirdim saxladim kecdim basqa mvozuya dedim bu disscuing teleb edir, oxumaqla cetin olacq
<marlin>
:)
lucid_0x80 has quit [Remote host closed the connection]
lucid_0x80 has joined #lowempire
<lucid_0x80>
menti nedir marlin
<lucid_0x80>
M threaddir
<lucid_0x80>
M baslayir islemeye
<lucid_0x80>
cox asan
<lucid_0x80>
men fikirlesdiyim cure fikirlesibler ancaq biraz
<lucid_0x80>
ferqli o terefi dusunmemisdim
<lucid_0x80>
men
<lucid_0x80>
men nece dusunmusdum
<lucid_0x80>
demeli
<lucid_0x80>
proqram baslayir islemeye
<lucid_0x80>
birdene main thread olur
<lucid_0x80>
main threadin icinde
<lucid_0x80>
birdene queue olur
<lucid_0x80>
oda running queue-di
<lucid_0x80>
onun icine sen Goroutineleri yigirsan
<marlin>
onda bir threading icinde queue olur nqeder gorotunie varsa hamsini yigir o queue, ve hemin hazirda geden threadin icinde gorotune yazsan onlar islese ardicil olaraq davam elese, ve her hansi bir funkisya yazsan ve blocking olsa o thread onda dayanir, yeni trhead yaranir he? bes o evvelki threading icinde ki gorotuniler ne olur? kecir teze threade?
<marlin>
hee axirda yazmisan indi gordum
<marlin>
onda beledir ki eger gorotuniler lazim olan yerde istifade edekde,
<marlin>
meselen her hansi non blocking I/O emeliyat olsa onun ucun elverislidirde
<marlin>
ve hemin I/O biri blocking olsa hemin thread dagilir