eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingIle zajmie komputerowi mnożenie liczb rzędu 2^128 › Re: Ile zajmie komputerowi mnożenie liczb rzędu 2^128
  • Data: 2019-12-05 01:19:58
    Temat: Re: Ile zajmie komputerowi mnożenie liczb rzędu 2^128
    Od: fir <p...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu środa, 4 grudnia 2019 13:55:15 UTC+1 użytkownik o...@g...com napisał:
    > > czyli wychodziłoby 166 mikrosekund na takie obliczenie.
    > >
    > > Ale trzeba pamiętać, że to jest nieoptymalizowany program w lispie,
    > > na pewno można napisać program, który policzy to szybciej.
    >
    > Dzięki za pomoc. Niestety to dużo za dużo. Spodziewałem się wielkości o dwa rzędy
    mniejszej. Nawet optymalizacja nie sprawi chyba, że mogłoby to być 0,5 mikrosekundy,
    nie?
    >
    > Generalnie chciałbym, aby było to dokładnie 0,1 lub okolice tych czasów. Jest
    pewien algorytm, który na procesorze klasy Pentium M o szybkości 1.7 GHz ma właśnie
    taką wydajność szyfrowania, bo o szyfrowanie cały czas chodzi. Oczywiście działa on
    zupełnie inaczej od mojego, ale muszę w takim razie tak dobrać parametry, aby zbliżyć
    się do tej prędkości.
    >
    > Czy byłbyś w stanie sprawdzić mniejsze przypadki, np. liczbę 2^100-5 dla 100
    iteracji? Ogólnie znaleźć takie n, że dla n iteracji na liczbie 2^n-5 ten czas będzie
    wynosił ok. 0,1 mikrosekundy?

    troche nudne to pytanie, ale mozesz zalozyc ze proste operacje (dodawanie, mnozenei ,
    shift) na 64 bitowym incie zajmuje w granicach 1-5 cykli (powiedzmy)

    czyli w temacie zgrubnego ogarniecia mozesz zalozyc ze jedna operacje zajmuje okolo 1
    nanosekunde

    z tym ze taki mnozenie przez 2.5 to raczej jest mnozenie x przez dwa i dodanie polowy
    x czyli

    ((x<<1) + (x>>1)) + 2.5

    4 operacje, zalozmy ze to zajmuje 4 ns (mozliwe ze w praktyce zajmie ciut mniej, moze
    ze 2 ns)

    wiec sto iteracji tego zajmie 400 ns (200 ns?)

    to przy zalozeniu ze mowimy o obliczeniach ktore sie da zrobi na 64 bitowych
    integerach, jak robi sie to na 128 bitowych integereach mysle ze zjamie to minimum 2
    razy tyle (zief)

    swoje droga esli to jest iteracja na stalej 2^128 - 5 to wynik konkretnej liczby
    iteracji na tym (np 100) jest znany i nie trzeba tego liczyc wiec wyliczenie tego
    wynosi 0 czasu (i dlatego tez niekonkretne pytaia sa nie tylko niecialawe ale i
    denerwujace (ziew))

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: