_mm_shuffle explained

Robiąc pierwsze kroki z SSE starłem się z instrukcją _mm_shuffle. Dokumentacja od microsoftu umiarkowanie rozjaśniła jak się tego używa, ale dalej nie wszystko rozumiałem. Naskrobałem więc prosty programik, którym można sprawdzić jak się zachowa _mm_shuffle dla zadanej maski:

Binarka
Źródło

Brak soli powoduje sklerozę!

Przez około 3 tygodnie nie miałem w domu soli. Najzwyczajniej w świecie skończyła. I w solniczce i w dużym zapasowym pojemniku. Kupić nie było komu. Przez ten czas, będąc w sklepie albo nie mogłem znaleźć soli albo jej nie było w sklepie. Ostatnim razem na zakupach w kalafiórze wpadłem na sól. Oczywiście tylko w solniczkach […]

Platforma chce naszego dobra!

W nawiązaniu do ostatnich działań rządzącej PO, takich jak podniesienie podatku VAT, podnoszenie opłat za wynajem lokali, wprowadzania sztucznych zakazów, czy umacniania służb spec^H fiskalnych można powiedzieć jedno: PO chce tylko naszego dobra, a mamy go coraz mniej! Swoją drogą, zastanawiam się jak zachowałaby się zwycięska partia gdyby były wybory nie samorządowe, a parlamentarne i […]

Stypendia naukowe na PJWSTK to kpina w żywe oczy….

150 zł za średnią powyżej 4.45 250 zł za średnią powyżej 4.8 750 zł czesne za miesiąc. Ja rozumiem, że jest kryzys, żydzi, platforma i takie tam, ale wysyłanie tego hurtem do wszystkich studentów i chwalenie się jacy to my nie jesteśmy dobrzy zakrawa o kpinę…

Potyczki z C#, część 2. Dlaczego coś, co wg logiki powinno być szybsze jest 2x wolniejsze?

Mamy tablicę zawierającą jakieś dane. Obrazek. Dla uproszczenia, niech to będzie tylko jeden kanał tego obrazka. Nazwijmy tablicę: map. Map zawiera indeksy od 0 do bmp.Height*bmp.Width

Mamy też funkcję xy(int x,int y) która przelicza nam współrzędne kartezjańskie na liniowe:

int xy(int x,int y){
return y*width+x;
}

Uruchamiamy pętlę, która ma się przejść po wszystkich pikselach z zadanego obszaru rect:

int sum=0;
for(int i=rect.X;i
for(int j=rect.Y;j>rect.Height;j++)
sum+=map[xy(i,j)]

I teraz pytanie: dlaczego powyższy kod działa szybciej, przynajmniej w trybie debugowania, niż:

int sum=0;
for(int j=rect.Y,begin=xy(0,rect.Y);j>rect.Height;begin=xy(0,j++))
for(int i=rect.X;i
sum+=map[begin+i]

?

Czas wywalić bash.org.pl z RSSów

Ostatnimi czasy bash.org.pl, wzorem wykopu, poszerzył swój target, dokonał zmiany postawy ideowej i ogólnie mówiąc zszedł na ps^H^H dzieci neo. Rozumiem, że żartów informatycznych, matematycznych i fizycznych, takich jak na xkcd, typowe dziecko neo nie łapie. Rozumiem, że kasa na utrzymanie basha pochodzi głównie z reklam. Rozumiem, że ten serwis się zrobił popularny i osoby […]

FreeBSD nie nadaje się do podróży w czasie…

Serwerek z FBSD na pokładzie, stojący u mnie na szafie dostał nagle czkawki. Nie wiem, czy to późna godzina nocna go zmęczyła, czy się sprzęt wysłużył, ale zaniepokoiło mnie to. Próbuję wejść po ssh – dalej słyszę czkanie. Podłączyłem się, piszę dmesg a mym oczom się ukazuje: calcru: runtime went backwards from 23247 usec to […]

Przygoda z serwisem, w wydaniu HP

Zaczęło się od tego, że mój roboczy laptop, HP touchsmart tx2, zaczął gubić swoją funkcjonalność, dla której wybrałem ten, a nie inny – przestawał reagować na dotyk i na rysik. Kalibracja ustawień przez sterownik przynosiła efekty, ale na coraz krócej. Po paru tygodniach, później po paru dniach ekran pojemnościowy się rozregulowywał. Gdy pewnego dnia sterownik nie zechciał tego naprawić – zacząłem szukać przyczyny.

Usunąłem driver i próbuję go wgrać – nie da się. Sprzęt nie wykryty. Upgrade BIOSu – bez zmian. Reinstalacja systemu – dalej bez zmian. Pozostało tylko kontaktować się z serwisem. Zrobiłem to niechętnie, gdyż znajomi siedzący w sprzęcie bardzo na serwis HP narzekali.

Wydajność si szarpa to tragedia, czy tylko ja nie umiem go efektywnie wykorzystać?

Zadanie: Wskazać w którym miejscu obrazka koncentracja szczegółów jest duża, a w którym mała. Pomysł na rozwiązanie: Zrobić lekki blur obrazka, a potem policzyć różnicę między oryginałem a rozmytą kopią. Jeszcze wszystko było fajnie, wstępny test na Photoshopie pokazuje, że da się uzyskać całkiem niezłe efekty. Jednak moja implementacja tego w C# jest KOSZMARNIE wolna! […]

Wojna na całego!

W przypadku, gdy najemca prowadzi działalność handlową, w tym promocyjną i informacyjną, produktami powodującymi lub mogącymi powodować działanie podobne do substancji psychotropowych lub odurzających, w szczególności tzw. dopalaczami, nawet jeżeli produkty te nie są przeznaczone do spożycia, wynajmujący rozwiązuje niniejszą umowę w trybie natychmiastowym, bez zachowania terminów wypowiedzenia Przeklejone z: warszawa.gazeta.pl domniemane źródło: BIP Miasta […]