ďťż
 
powolny string tokenizer ďťż
 
powolny string tokenizer
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

powolny string tokenizer



gosc - 16-02-2006 10:06
powolny string tokenizer
  Czesc,
mam taki problem - parsuje stringi, konkretnie musze wydobywac z nich
poszczegolne wyrazy. Zdan jest okolo 5000, kazde ma kilka wyrazow. Niestety nie
robie tego na PC, tylko troszke gorszym sprzecie i trwa to okolo 40 sekund
(zbudowanie kolekcji zawierajacej wszystkie wyrazy).

Profiler pokazuje, ze najwiecej czasu zajmuje wlasnie parsowanie StringTokenizerem.

Znacie jakies metody zeby to przyspieszyc ?

Z gory dzieki.
AT.

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





Raveman - 16-02-2006 10:06

  StringTokenizer is a legacy class that is retained for compatibility reasons
although its use is discouraged in new code. It is recommended that anyone
seeking this functionality use the split method of String or the
java.util.regex package instead.

"gosc" <andrzejtWYTNIJTO@vp.pl> wrote in message
news:114a.000000d5.43f31056@newsgate.onet.pl...
> Czesc,
> mam taki problem - parsuje stringi, konkretnie musze wydobywac z nich
> poszczegolne wyrazy. Zdan jest okolo 5000, kazde ma kilka wyrazow.
> Niestety nie
> robie tego na PC, tylko troszke gorszym sprzecie i trwa to okolo 40 sekund
> (zbudowanie kolekcji zawierajacej wszystkie wyrazy).
>
> Profiler pokazuje, ze najwiecej czasu zajmuje wlasnie parsowanie
> StringTokenizerem.
>
>
> Znacie jakies metody zeby to przyspieszyc ?




Grzegorz Mucha - 16-02-2006 10:06

  On Wed, 15 Feb 2006 12:37:26 +0100, Raveman wrote:

> StringTokenizer is a legacy class that is retained for compatibility reasons
> although its use is discouraged in new code. It is recommended that anyone
> seeking this functionality use the split method of String or the
> java.util.regex package instead.

Taaa... to ja teraz powiem, że przeglądałem kawałek kodu pod profilerem i
jednak tokenizer jest szybszy od String.split() na przykład.

Wersja hardkorowa to być może iterowanie znak po znaku (lub za pomocą
indexOf()) i wyciąganie substringów - ale nie wiem, czy to akurat będzie
dużo szybsz.

mucher




Sadu - 16-02-2006 10:06

  Jak czytasz to z pliku moze StreamTokenizer pomoze...

Użytkownik "gosc" <andrzejtWYTNIJTO@vp.pl> napisał w wiadomości
news:114a.000000d5.43f31056@newsgate.onet.pl...
>
> Znacie jakies metody zeby to przyspieszyc ?
>





kepasaparado@o2.pl - 16-02-2006 10:06

  > Czesc,
> mam taki problem - parsuje stringi, konkretnie musze wydobywac z nich
> poszczegolne wyrazy. Zdan jest okolo 5000, kazde ma kilka wyrazow. Niestety nie
> robie tego na PC, tylko troszke gorszym sprzecie i trwa to okolo 40 sekund
> (zbudowanie kolekcji zawierajacej wszystkie wyrazy).
>
> Profiler pokazuje, ze najwiecej czasu zajmuje wlasnie parsowanie
StringTokenizerem.
>
>
> Znacie jakies metody zeby to przyspieszyc ?
>
>
> Z gory dzieki.
> AT.

Przerabiałem duże pliki StringTokenizerem ale takich opoznien nie zauwazylem.
Moze to jest kwestia kodu ktory obsluguje to rozdzielanie - po pierwsze zmienne
tymczasowe String - trzeba je wyeliminować , dalej uzyj StringBuffer do ktorego
wczytasz plik , powinno pomoc.

Pozdrawiam Sławek Stec

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




Jakub Grabowski - 16-02-2006 10:06

  Grzegorz Mucha napisał(a):
> Taaa... to ja teraz powiem, że przeglądałem kawałek kodu pod profilerem i
> jednak tokenizer jest szybszy od String.split() na przykład.

Wydaje mi się, że String.split() za każdym razem kompiluje wyrażenie
regularne, którego używa do dzielenia i to może być problem.
Alternatywnie można sobie skompilować i zapisać gdzieś Pattern (np.
Pattern splitter = Pattern.compile("\\s")), który będzie reużywany i nie
trzeba będzie go kompilować za każdym razem. Używa się wtedy tego
patterna do dzielenia Stringa lub StringBuffera. Szczegóły w JavaDocu.

--
Pozdrawiam,
Jakub Grabowski.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?= String line; if (line=="cos"){...}....problem [Oracle] =?ISO-8859-2?Q?=A3=B1czenie_wierszy_z_zapytania_?==?ISO-8859-2?Q?w_jeden_string?= Variable type (position <number>) in EXECUTE STATEMENT '<string>' INTO does not match returned column type Problem z funkcja mysql_real_escape_string() na bazie mysql [psql] Funkcja =?ISO-8859-2?Q?=B3=B1cz=B1ca_stringi?= Sql Serv 2000 - String z lista parametrem funkcji ? [pl/sql] usuwanie znaku nowej lini ze stringa Firebird 1.5, Invalid argument in EXECUTION STATEMENT - cannot convert to string [oracle] jak wyciągnąć jeden znak ze stringa/zmiennej?
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • absolwenci.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com