-
Data: 2010-02-19 16:29:41
Temat: Re: BCB Moj ulubiony kod;)
Od: Mariusz Marszałkowski <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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.
#define N (1<<30)
#define S (1024)
static double tab[S];
void init() {
for( int i=0 ; i<S ; i++ )
tab[i] = rand() % 16 - rand() % 16;
}
double test( ) {
double sum = 0;
int x = 0;
for( int i=0 ; i<N ; i++ ) {
x = (x + rand()) % S;
sum += tab[x];
}
return sum;
}
int main( int argc , char *argv[] ) {
srand(time(NULL));
init();
printf("sum = %lf\ntime = %u\n",test(),(unsigned int)clock());
return 0;
}
Pozdrawiam
Następne wpisy z tego wątku
- 19.02.10 21:48 Michoo
- 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
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-31 Szukam: czujnik ruchu z możliwością zaączenia na stałe
- 2024-12-31 Warszawa => Solution Architect (Java background) <=
- 2024-12-31 Warszawa => Starszy Konsultant AWS <=
- 2024-12-31 Warszawa => International Freight Forwarder <=
- 2024-12-31 Odpowiedzialność w spółce z oo
- 2024-12-31 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-31 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2024-12-31 Warszawa => Specjalista ds. bezpieczeństwa informacji i ciągłości
- 2024-12-31 8%
- 2024-12-31 Błonie => Administrator systemów <=
- 2024-12-31 Błonie => IT System Administrator <=
- 2024-12-31 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2024-12-31 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2024-12-31 Warszawa => Helpdesk - I linia wsparcia <=
- 2024-12-31 kabelek - kynar ?