-
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
- 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
- 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?
Najnowsze wątki
- 2024-05-16 Samo rozładowywanie baterii trakcyjnej w elektryku.
- 2024-05-16 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-05-16 Warszawa => Interactive/Experience Designer <=
- 2024-05-16 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-16 Zabrze => Junior HelpDesk <=
- 2024-05-16 Warszawa => Technical Lead ( (Java Background)) <=
- 2024-05-16 Szczecin => Senior DevOps Engineer <=
- 2024-05-16 Szczecin => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-16 Śledztwo bodnatury "jak wyrok"? ["likwidator" Polskiego Radia donosi]
- 2024-05-16 Citi... zmiany warunków umowy o kartę kredytową Citibank?
- 2024-05-16 prawo jazdy z Nepalu
- 2024-05-15 Mini Netykieta polskich grup i list dyskusyjnych
- 2024-05-15 Warszawa => Key Account Manager <=
- 2024-05-15 Millenium czyli DEBILE bankowości
- 2024-05-15 Warszawa => Frontend Developer - React <=