added profiling, which is very important and private notes, which are even importanter :)

Former-commit-id: 1f1746c2de27b52aab4615e64d6b11b0c1e17624
This commit is contained in:
rjawor 2015-04-16 17:18:17 +02:00
parent 4e02afc897
commit 0927e2ed1f
3 changed files with 38686 additions and 13 deletions

View File

@ -1,28 +1,31 @@
- wyszukiwanie zdania: wyszukanie najdłuższych pasujących fragmentów Anubisem, 1D (approximate) bin packing. Nazwijmy to concordia search. Wyszukiwane są wszystkie najdłuższe dopasowania patternu dzięki LCP search. Zwracany jest wynik w postaci listy najdłuższych dopasowanych fragmentów, posortowanych malejąco po długości, z maksymalnie 3 przedstawicielami każdej długości. Dodatkowo obliczany jest zestaw optymalnego pokrycia patternu.
- Prawdopodobnie długość example w markers będzie potrzebna tylko anubisowi (który, jak się okazuje, jest wolny). Pomyśleć, do czego można wykorzystać markery, bo ich idea wydaje się niezła.
- Multi-threading?
- concordia-server (zastanowić się, czy nie napisać CAT-a)
- wyłączyć stopWords
- zastanowić się nad empty hash examples (rozwiązanie: w ogóle nie szukać fraz o pustym hashu, rzucać wyjątek).
- puścić 100% search test na jrc
---------------------------- Archive -----------------------------
DONE 1. lokalizowane to_lower (wykorzystać utf8case, naprawić testy) DONE 1. lokalizowane to_lower (wykorzystać utf8case, naprawić testy)
DONE 2. anonimizacja zdań DONE 2. anonimizacja zdań
DONE 3. Dzielenie zdań (max 255 tokenów) DONE 3. Dzielenie zdań (max 255 tokenów)
DONE Anubis search się komplikuje! Przy tworzeniu obiektu tmMatches dla przykładu trzeba podać id przykładu, długość patternu i długość przykładu. Dwa pierwsze mamy, ale niestety nie ma skąd wziąć długości przykładu. Pamiętamy tylko offset sufiksu. DONE Anubis search się komplikuje! Przy tworzeniu obiektu tmMatches dla przykładu trzeba podać id przykładu, długość patternu i długość przykładu. Dwa pierwsze mamy, ale niestety nie ma skąd wziąć długości przykładu. Pamiętamy tylko offset sufiksu.
DONE 1. Bitwise operators (i stałe!) przy rozmiarze index character oraz markerów DONE 1. Bitwise operators (i stałe!) przy rozmiarze index character oraz markerów
IN PROGRESS 2. Wykonać anubis search na nowych markerach z długością zdania DONE 2. Wykonać anubis search na nowych markerach z długością zdania
3. Multi-threading?
- concordia-server
- zastanowić się nad empty hash examples (rozwiązanie: w ogóle nie szukać fraz o pustym hashu, rzucać wyjątek).
- wyłączyć stopWords
- puścić 100% search test na jrc
- wyszukiwanie zdania: wyszukanie najdłuższych pasujących fragmentów Anubisem, 1D (approximate) bin packing
zastanowić się nad optymalizacją: DONE zastanowić się nad optymalizacją:
REJECTED - tmMatchesMap jako normalna mapa (nie ptr_map) REJECTED - tmMatchesMap jako normalna mapa (nie ptr_map)
REJECTED - LCP array REJECTED - LCP array
DONE - !important! rezygnacja z ptr_vector DONE - !important! rezygnacja z ptr_vector
DONE - zwracanie wektorów DONE - zwracanie wektorów
DONE - powyrzucać using namespace std DONE - powyrzucać using namespace std
- profiling DONE - profiling

38668
callgrind.out.3952 Normal file

File diff suppressed because it is too large Load Diff

2
valgrind.txt Normal file
View File

@ -0,0 +1,2 @@
valgrind --tool=callgrind ./build/concordia-console/concordia-console -c prod/resources/concordia-config/concordia.cfg -a "Komisji Europejskiej"
kcachegrind callgrind.out.3952