-
Data: 2009-08-19 17:39:07
Temat: Re: .Net Dictionary (System.Collections) problem z wyszukiwaniem...
Od: Marcin Kral <k...@p...na-onecie.pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- 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
Najnowsze wątki
- 2025-05-11 obca rejestracja budzi agresję
- 2025-05-11 Po nie udanej próbie egzekucji: Nigeryjczyk, który chciał zabić Polaka, nie odpowie za atak
- 2025-05-10 Szczecin => Key Account Manager IT <=
- 2025-05-10 Rudno => Administrator sieci IT <=
- 2025-05-10 Wrocław => Controlling systems Consultant <=
- 2025-05-10 Rudno => IT network administrator <=
- 2025-05-10 Warszawa => Customer Service with Spanish + translation <=
- 2025-05-10 Warszawa => Senior Account Manager <=
- 2025-05-10 Trójmiasto => Head of Social Media <=
- 2025-05-10 Warszawa => C Programmer <=
- 2025-05-10 Warszawa => Java Developer <=
- 2025-05-10 powąchaj instrybutor
- 2025-05-10 Prawomocny wyrok. Rowerzysta nie ma pierwszeństwa, dojeżdżając do przejazdu
- 2025-05-09 Propagation velocity v/c dla kabli RF
- 2025-05-09 Warszawa => Senior Node.js Developer (doświadczenie z framework Nest.