Używamy w pracy Codility to testowania kandydatów, używamy go też czasem w ramach konkursów na różnych konferencjach.
I okazuje się, że Codility niechcący kara ludzi, którzy znają nowszą Java'ę ;-)
Jeśli ktoś operuje na kolekcji przy pomocy pętli to może dostać ocenioną złożoność O(n), jeśli użyje strumieni i lambd to może dostać ocenioną złożoność O(n*log(n)).
A wszystko przez to, że w Java 8 lambdy nie są najszybsze.
Widać to świetnie gdy używa się computeIfAbsent, zamiast getOrDefault w mapach.
Bo kod z computeIfAbsent wykonuje się zwykle wolniej, mimo tego, że getOrDefault tworzy nowy obiekt za każdym razem gdy jest wołane.
A wszystko przez to, że lambda musi być najpierw zbudowana ;-) i po to kompilator dodaje wywołanie metody LambdaMetafactory.metafactory, które jest wołane przy pomocy invokedynamic.
A w Java 8 wywołanie tego trwa wieki....
Coś co wykonuje się w mniej niż 10 ms, może się wykonywać nawet 80 ms.
Na szczęście w Java 11 wydaje się, że wszystko jest szybsze i nie widać znaczącej różnicy w wykonaniu kodu z lambdami i bez.
Podobne postybeta
Zaczynam woleć Map<Key,int[]> nad Map<Key,Integer> ;-)
Mody w rekrutacji IT ;-)
Nie znoszę programowania "funkcyjnego" :-)
Olśnienia :-)
Sztuczki tropiciela błędów - breakpoint na sterydach ;-)
sobota, czerwca 22, 2019
czwartek, czerwca 13, 2019
Upał promuje mniejszych?
Kiedyś tłumaczyłem tutaj czemu małe pieski noszą w zimę ubranka.
Przypomniało mi się to i tak się zacząłem zastanawiać czy rozmiary mają wpływ na radzenie sobie z upałem....
Przyjmijmy, że mamy dwie osoby, jedną o wzroście 184 cm, drugą 161 cm.
Przyjmijmy, że mają obie te osoby BMI równe 22.5.
Czyli pierwsza waży 76.2 kg, druga 58.3 kg.
Dla ułatwienia przyjmijmy, że każda z tych osób ma gęstość 985 kg/m3.
I zamodelujmy obie osoby jako cylindry ;-)
Pierwsza osoba ma promień 11.6 cm, druga 10.8 cm.
Obie mają temperaturę 36.6 stopni C.
Powierzchnia 1 osoby to 1.43 m2, drugiej to 1.16 m2. To daje strumień całkowity mocy z pierwszej osoby 61.4 W, a z drugiej 50.2 W (strumień wychodzący-strumień wchodzący, w końcu powietrze ma 30 stopni C).
Teraz policzmy ile, gdyby nie utrzymywały temperatury, ile by im ubywało... przyjmiemy ciepło właściwe dla człowieka równe 3.49 kJ/(kg*K).
Mamy w końcu, że w ciągu sekundy mniejsza osoba straciłaby o 1.6 stotysięcznej stopnia więcej od osoby większej.
Znaczy to, że małym lepiej w upale, szybciej się chłodzą.
Podobne postybeta
Czemu małe pieski noszą ubranka, a duże psy nie?
Pokrowiec - zdeużytecznik ;-)
I tak żle i tak niedobrze
Kupić bilet czy nie kupić? Oto jest pytanie....
Czemu prysznic jest bardziej eco(nomiczny) i eco(logiczny) ;-)
Przypomniało mi się to i tak się zacząłem zastanawiać czy rozmiary mają wpływ na radzenie sobie z upałem....
Przyjmijmy, że mamy dwie osoby, jedną o wzroście 184 cm, drugą 161 cm.
Przyjmijmy, że mają obie te osoby BMI równe 22.5.
Czyli pierwsza waży 76.2 kg, druga 58.3 kg.
Dla ułatwienia przyjmijmy, że każda z tych osób ma gęstość 985 kg/m3.
I zamodelujmy obie osoby jako cylindry ;-)
Pierwsza osoba ma promień 11.6 cm, druga 10.8 cm.
Obie mają temperaturę 36.6 stopni C.
Powierzchnia 1 osoby to 1.43 m2, drugiej to 1.16 m2. To daje strumień całkowity mocy z pierwszej osoby 61.4 W, a z drugiej 50.2 W (strumień wychodzący-strumień wchodzący, w końcu powietrze ma 30 stopni C).
Teraz policzmy ile, gdyby nie utrzymywały temperatury, ile by im ubywało... przyjmiemy ciepło właściwe dla człowieka równe 3.49 kJ/(kg*K).
Mamy w końcu, że w ciągu sekundy mniejsza osoba straciłaby o 1.6 stotysięcznej stopnia więcej od osoby większej.
Znaczy to, że małym lepiej w upale, szybciej się chłodzą.
Podobne postybeta
Czemu małe pieski noszą ubranka, a duże psy nie?
Pokrowiec - zdeużytecznik ;-)
I tak żle i tak niedobrze
Kupić bilet czy nie kupić? Oto jest pytanie....
Czemu prysznic jest bardziej eco(nomiczny) i eco(logiczny) ;-)
Subskrybuj:
Posty (Atom)