-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Marcin Kral <k...@p...na-onecie.pl>
Newsgroups: pl.comp.programming
Subject: Re: .Net Dictionary (System.Collections) problem z wyszukiwaniem...
Date: Wed, 19 Aug 2009 19:39:07 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 43
Message-ID: <h6hdbu$5ge$1@inews.gazeta.pl>
References: <h69vck$rq2$1@inews.gazeta.pl> <h6agjg$g06$1@inews.gazeta.pl>
<h6h9cg$gk9$1@inews.gazeta.pl>
NNTP-Posting-Host: cfs151.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1250703550 5646 83.30.220.151 (19 Aug 2009 17:39:10 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Wed, 19 Aug 2009 17:39:10 +0000 (UTC)
X-User: kralm
In-Reply-To: <h6h9cg$gk9$1@inews.gazeta.pl>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.1) Gecko/20090715
Thunderbird/3.0b3
Xref: news-archive.icm.edu.pl pl.comp.programming:183309
[ ukryj nagłówki ]W dniu 2009-08-19 18:31, Marcin Połeć pisze:
> Bartek Etenkowski<n...@c...cz> napisał(a):
>> na pierwszy rzut oka to problem moĹźe byÄ? z robieniem wielu konkatenacji
>> (o ile Check(s) wiele razy zwraca prawdÄ?). SprĂłbuj tak:
>>
>> StringBuilder result = new StringBuilder();
>> foreach (string s in kombinacje)
>> if (Check(s))
>> {
>> result.Append(s);
>> result.Append(", "); // albo zamiast tych dwĂłch
>> result.AppendFormat("{0}, ", s);
>> }
>> ret = result.ToString();
>>
>> Powinno byÄ? szybciej. Nie kompilowaĹ?em tego, metoda ctrl+c, ctrl+v
>> dziaĹ?aÄ? nie musi. :)
>>
>> Pozdrawiam,
> znacznego przyspieszenia nie odnotowałem, średni czas przeszukiwania wciąż
> jest około 17sekund
Generalnie to jak juz wyzej poradzono lepiej skupic sie na zlozonosci
algorytmu. To tutaj to kwestie implementacyjne. Jakkolwiek, dla duzej
liczby konkatenacji StringBuilder jest wydajniejszy. Jezeli funkcja go
uzywajaca jest czesto wolana to warto StringBuildera tworzyc raz i
odpalac clear() na poczatku funkcji go uzywajacej. (Chodzi o
zmniejszenie liczby alokacji). Inna sprawa - jezeli chcesz bawic sie w
takie drobnostki - zamiast foreach uzyj zwyklego for.
np.
int liczbaKombinacji = kombinacje.Count;
string s = String.Empty;
for(int i = 0; i < liczbaKombinacji; i++)
{
s = liczbaKombinacji[i];
// operacje na s
}
--
Pozdrawiam
Marcin Kral
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-23 5G Apokalipsa - nie tylko dla tutejszych przeżuwaczy podpiczników
- 2025-01-23 wodor
- 2025-01-23 Zawór grzybkowy - jaki producent
- 2025-01-23 Warszawa => Expert IT Recruiter 360 <=
- 2025-01-23 Warszawa => Key Account Manager IT <=
- 2025-01-23 Citi Handlowy promocja na kartę kredytową
- 2025-01-22 Gdańsk => System Architect (Java background) <=
- 2025-01-22 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-22 Warszawa => Java Developer <=
- 2025-01-22 pokolenie Z
- 2025-01-22 Wyświtlacz ramki cyfrowej
- 2025-01-22 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-22 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-22 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-22 oferta na ubezpieczenie OC życie prywatne