-
Data: 2012-11-24 14:13:33
Temat: Re: Potyczki
Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2012-11-24 13:39, Michoo pisze:
> On 24.11.2012 12:36, bartekltg wrote:
>>
>> Mając dodatkową pamięć dysku równo pierwotnej tablicy
>> (a tak naprawdę 0.5) możemy posortować tablicę
>> w 4 przebiegach _sekwencyjnego_ odczytu/zapisu.
>
> slawek się potem "poprawił", że plik jest "dużo" (10x) większy niż ram.
Aj, wszytko liczyłem dla 4GB, czyli 8 razy większego.
Problem jest gdzie indziej, nie zauważyłem, że ciągi
na siebie nachodzą. To powiększa mój bufor 16 razy;)
Zaczyna być nieprzyjemnie, ale nadal robialnie.
Zwłaszcza, że w normalnych warunkach ma się 12GB z czego 8 wolne;)
niech będzie 10GB danych, *16. 160GB.
RAMu niech będize 41GB, to daje ok 7 cykli, czyli
powiedzmy 13 (odczytów+zapisów=13)
Trzeba przewalić. 2TB
Powiedzmy, ze nie korzystamy ze sprzętu za 60k$ typu
dysk na PCI-16 6GB transger 4GB/s.
Jakiś dysk SSD na szybko zerknięty na Agito, odczyt/zapis 500MB/s.
Dysk maagnetyczny: "Szybkość przesyłu danych sformatowanych: 6 Gbit/s"
Cokolwiek to znaczy;)
W każdym razie naszą operację szacujemy na 15-20 minut.
Długo, trzeba by poprawić.
Ale zaczyna być ciekawie:)
> Nie do końca rozumiem to 0.5 nawet przy założeniu dane 4 razy większe od
> tablicy - mergesort potrzebuje na każdy merge drugie tyle miejsca.
> Wychodzi więc mi minimum 1.5 zakładając, że nie robimy ostatniego
> scalania. (Mamy 4 bloki po 1/4 n zajmujące na dysku n i żeby dwa z nich
> scalić potrzebujemy dodatkowe 0.5n na wynik.)
Moja pomyłka. +1 w dobrą stronę i -4 w złą;)
>> Kołaczą mi się sztuczki ze statystyką i nie jestem pewien,
>> czy nie da się tego zrobić lepiej. Ale ciężko będzie,
>> 5 przbiegów po dysku to podejrzewam minimum.
>> W koncu nawet log(n) jest większe.
>
> W praktycznym przypadku (a nie maksymalnie złośliwym) spróbowałbym z
> drzewem prefiksowym w ramie a jak by się przestało mieścić to dopiero
> fallback do sortowania. Daje jeden dodatkowy odczyt sekwencyjny i
> złożoność k*log(k) w RAMie gdzie k to liczba różnych wartości.
To drzewo dużo miejsca nam nie oszczędza, ale zawsze.
Nie zaszkodzi spróbować, ale dla losowego ta heurystyka
zadziała?
pzdr
bartekltg
Następne wpisy z tego wątku
- 24.11.12 14:12 PK
- 24.11.12 14:23 PK
- 24.11.12 14:37 slawek
- 24.11.12 14:40 Michoo
- 24.11.12 14:44 slawek
- 24.11.12 14:47 Michoo
- 24.11.12 14:48 PK
- 24.11.12 14:48 slawek
- 24.11.12 14:51 PK
- 24.11.12 14:56 slawek
- 24.11.12 15:04 slawek
- 24.11.12 15:12 Michoo
- 24.11.12 15:17 Michoo
- 24.11.12 15:18 PK
- 24.11.12 15:25 Jacek
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-21 Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 2024-12-21 Ideologia Geniuszy-Mocarzy dostępna na nowej s. WWW energokod.pl
- 2024-12-21 ciekawy układ magnetofonu
- 2024-12-21 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2024-12-21 Warszawa => Java Developer <=
- 2024-12-21 Zalesie Borowe => Medical Equipment Service Engineer <=
- 2024-12-21 Żerniki => Specjalista ds. Employer Brandingu <=
- 2024-12-21 jak tacy debile
- 2024-12-20 Precedensy politycznie motywowanego nie wydawania w UE
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-20 czyste powietrze
- 2024-12-20 Katowice => Analyst in the Trade Development department (experience wi