-
Data: 2010-02-19 21:48:47
Temat: Re: BCB Moj ulubiony kod;)
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Mariusz Marszałkowski pisze:
> On 18 Lut, 10:20, Qbab <b...@p...onet.pl> wrote:
>> W dniu 2010-02-11 08:57, Wojciech "Spook" Sura pisze:
>>
>>> Bastion wrote:
>>>> Kolego, ja tak nie pisze tylko przedstawiam rozwiazanie pewnego
>>>> problemu. Laskawie pochyl glowe i zastanow sie jak w 5 linijkach kodu
>>>> lepiej mozna zwizualizowac rozwiazanie. Czekam na kod...
>>> Zacznijmy od tego, że nawet nie zabierałbym się do projektowania aplikacji
>>> myśląc panicznie, żeby zmieścić się w n linijkach. Płacisz podatek od każdej
>>> napisanej linii kodu? Jeśli radość sprawia Ci upychanie programu w
>>> niewielkiej przestrzeni, to raczej wyślij Twój pomysł na IOCCC niż chwal się
>>> na grupach.
>> Pamiętam czasy gdy upychanie kodu wynikało z konieczności, czasem
>> upychało się dwie zmienne w jednym bajcie bo z góry wiedziało się ile
>> bitów zajmą maksymalnie. Ale tego nie zrozumie nikt kto nie startował w
>> czasach gdy komputery miały mniej niż 64 kilobajty pamięci :)
>
> Koniecznosc upychania danych w bity jest caly czas akualna. Oczywiscie
> tylko tam, gdzie wazna jest wydajnosc. Propoponuje zmierzenie czasu
> wykonania tego kodu dla roznych wielkosci S. Parametr N zostaje taki
> sam, wiec ilosc operacji nie ulega zmianie, zmianie ulega tylko
> rozmiar
> danych. Duze S oznacza dane nie upakowane, male S oznacza dane
> upakowane do malej tablicy.
Tu czytasz dane i to w najgorszy możliwy sposób - dostęp losowy. Odwrócę
kota ogonem - na 8 Xeonach:
$time ./kolo_siebie
real 0m16.903s
user 1m52.579s
sys 0m0.188s
$ time ./oddalone
real 0m1.955s
user 0m7.848s
sys 0m0.000s
To jest dokładnie ten sam kod, ale w jednym wypadku dane upakowane i
false-sharing daje o sobie znać, w drugim nie.
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 19.02.10 22:41 Mariusz Marszałkowski
- 19.02.10 22:58 Michoo
- 19.02.10 22:59 Bastion
- 19.02.10 15:03 Wojciech Muła
- 19.02.10 23:18 Bastion
- 19.02.10 23:21 Bastion
- 20.02.10 00:03 Jędrzej Dudkiewicz
- 20.02.10 00:14 Jędrzej Dudkiewicz
- 20.02.10 04:31 Mariusz Marszałkowski
- 20.02.10 23:51 Bastion
- 25.02.10 22:22 Bastion
- 25.02.10 22:33 Bastion
- 25.02.10 23:00 Bastion
- 25.02.10 23:37 Jacek Czerwinski
- 26.02.10 18:05 Michoo
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-14 Spalił się autobus :-)
- 2025-03-14 Policjanci z Piątku
- 2025-03-14 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-03-14 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-03-14 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-14 VAT-R Umowa najmu na adres zamieszkania
- 2025-03-14 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-14 Warszawa => Junior Rekruter <=
- 2025-03-14 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-14 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-14 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-03-13 Raspberry Pi 3 Model B+
- 2025-03-13 Kuchenka elektryczna
- 2025-03-12 test
- 2025-03-13 własny ekran startowy