-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail
From: AK <n...@n...net>
Newsgroups: pl.comp.programming
Subject: Re: Bisekcja...
Date: Tue, 11 Dec 2018 20:25:35 +0100
Organization: Aioe.org NNTP Server
Lines: 45
Message-ID: <pup2vf$152p$1@gioia.aioe.org>
References: <f...@g...com>
<a...@g...com>
<c...@g...com>
<puof83$gf9$1@gioia.aioe.org>
<3...@g...com>
NNTP-Posting-Host: MV2AClG/2c9bVI3d/hJi2Q.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Complaints-To: a...@a...org
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101
Thunderbird/52.9.1
Content-Language: en-GB
X-Notice: Filtered by postfilter v. 0.8.3
Xref: news-archive.icm.edu.pl pl.comp.programming:213020
[ ukryj nagłówki ]On 2018-12-11 19:35, DMR wrote:
>> Dlaczego nie jakies hashowanie ?
>
>
> Wykombinowanie dobrej funkcji, kolizje, kupa danych... Nie wiem, czy to ogarnę.
> Ale zgłębiam temat. Bo niby - czemu nie? ;-)
>
...a nie lepiej uzyc cus gotowego/sprawdzonego ?
Np takie cos w Pythonie (na dosc slabym kompie-szefc bez butow chodzi:)
dla 10 000 000 'rekordow':
import timeit
dictionary = { key: str(key).zfill(6) for key in range(10000000) }
print(timeit.timeit('temp = { key: str(key).zfill(6) for key in
range(10000000) }', number=1))
print(dictionary[9999999], timeit.timeit('dictionary[9999999]',
number=10000, globals=globals()) / 10000)
print(dictionary[1], timeit.timeit('dictionary[1]',
number=10000, globals=globals()) / 10000)
print(dictionary[5000009], timeit.timeit('dictionary[5000009]',
number=10000, globals=globals()) / 10000)
print(dictionary[100000], timeit.timeit('dictionary[100000]',
number=10000, globals=globals()) / 10000)
daje takie czasy:
D:\>py zzz.py
5.356959160756147
9999999 7.252555713392894e-08
000001 5.5035608509168556e-08
5000009 7.855509932497284e-08
100000 8.065047214307341e-08
i to dla teoretycznie dosc slabych hashy, bo dla liczb naturalnych.
Oczywiscie szybkosc hashowania liniowa wzgledem rozmiaru,
a szybkosc szukania praktycznie niezalezna od rozmiaru.
PS: Oczywiscie to klasyczny dict/set (czyli klucz jest unikalny)
Istnieja oczywiscie: multidict i multiset, choc w Py niestandardowo.
W/w ma glownie obrazowac ze kilkadziesiat tysiecy to dzis raczej
"pryszcz" dla klasycznych/gotowych rzeczy.
AK
Następne wpisy z tego wątku
- 11.12.18 20:35 AK
- 12.12.18 14:27 DMR
- 12.12.18 20:53 Wojciech Muła
- 12.12.18 23:46 DMR
- 14.12.18 09:28 DMR
- 14.12.18 09:37 DMR
- 09.08.19 09:27 Borneq
Najnowsze wątki z tej grupy
- 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
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-05-04 Bonusowe pytanie rozliczenie sie z elektrownia - fotowoltaika.
- 2024-05-04 Ujawnienie porady prawnej prokuraturze
- 2024-05-04 Jaką kamerkę samochodową polecacie?
- 2024-05-04 Warszawa => Spedytor międzynarodowy <=
- 2024-05-04 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-04 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-05-04 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-05-04 Łódź => Business Development Manager - obszar bezpieczeństwa IT <=
- 2024-05-04 Warszawa => Interactive/Experience Designer <=
- 2024-05-04 Berlin => IT Systems Administrator and Customer Support Engineer <=
- 2024-05-04 Warszawa => Mid IT Recruiter <=
- 2024-05-04 Odpowiedzialność PORTALU za reklamy
- 2024-05-04 Lunar Rover był elektrykiem. Ważył 35 kg Zasięg 80 km Na Księżycu w 1971 r.
- 2024-05-04 Marki => ERP Implementer <=
- 2024-05-04 Gdańsk => Head of International Freight Forwarding Department <=