Aktywne Wpisy
Mieliśmy z #rozowypasek dość stresujące i pracowite dni. Weekend miał być zwieńczeniem tego, chwilą zasłużonego odpoczynku. Z racji z tego że ja całą sobotę miałem już wolną, a różowa miała kilka spraw do załatwienia i wracała późnym wieczorem to zdeklarowałem się że przygotuję coś specjalnego na wieczór. Wpadłem na pomysł że w sumie napiłbym się wódki. Po prostu, bez żadnych udziwnień, kolorowych napojów, muzyki w tle. Po prostu. Więc czekając na różową
szklarskaporeba +299
Wolam wszystkich plusujacych ten wpis.
Dzsiaj przed lunchem manager spotkal sie z dyrektorem dzialu zeby podjac deczyje co robic.
Long story short: rezultat jest taki, ze mlody dostal to co chcial, czyli wolne w listopadzie oraz HO do konca roku. A w zamian podpisal wypowiedzenie, ktore jest effective od grudnia. Innymi slowy pracuje do konca roku.
Tym samym jest to hard reality check dla wszystkich wykopkow z IT, ktorym sie wydaje
Dzsiaj przed lunchem manager spotkal sie z dyrektorem dzialu zeby podjac deczyje co robic.
Long story short: rezultat jest taki, ze mlody dostal to co chcial, czyli wolne w listopadzie oraz HO do konca roku. A w zamian podpisal wypowiedzenie, ktore jest effective od grudnia. Innymi slowy pracuje do konca roku.
Tym samym jest to hard reality check dla wszystkich wykopkow z IT, ktorym sie wydaje
Aktywne Znaleziska
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
Kod
Gdy zakomentuje funkcje anonimowaw i puszcze tylko
go fuzzy.EditDistance(str1, str2+strconv.Itoa(i))
czas wykonania to ok 330msfor i := 0; i < 1000000; i++ {
go fuzzy.EditDistance(str1, str2+strconv.Itoa(i)) // 330.1175ms
//go func(str1 string, str2 string, i int) {
// fuzzy.EditDistance(str1, str2+strconv.Itoa(i))
//}(str1, str2, i)
}
Gdy odpalam tylko funckje anonimową czas wykonania wynosi ok 3 sekund
for i := 0; i < 1000000; i++ {
//go fuzzy.EditDistance(str1, str2+strconv.Itoa(i))
go func(str1 string, str2 string, i int) {
fuzzy.EditDistance(str1, str2+strconv.Itoa(i))
}(str1, str2, i) // 3.166537s
}
Natomiast najbardziej ciekawe jest to gdy obie operacje wykonywane są jednocześnie czas wynosi ok 700ms
for i := 0; i < 1000000; i++ {
go fuzzy.EditDistance(str1, str2+strconv.Itoa(i))
go func(str1 string, str2 string, i int) {
fuzzy.EditDistance(str1, str2+strconv.Itoa(i))
}(str1, str2, i)
// Razem 705.114ms
}
#golang #go #programowanie
tez taktyk, bo pewnie ktoś mądrzejszy napisze coś mądrego
Sprawdziłem wygenerowane kody, wyglądają całkiem podobnie. Jeśli odpalę z GOMAXPROCS=1, to jest 1.60s, 1.85s, 3.20s, więc podobnie. IMHO optymalizacje kompilatora odgrywają małą rolę w tym przypadku ;p
perf stat -e cache-references,cache-misses pokazuje 1.5%, 40%, 2% cache misses, więc pewnie problem leży w tym jak scheduler GO wykonuje te funkcje :)