Hi,
ich hab eine Methode :
die zwei String aufwendig verarbeitet und sehr oft aufgerufen wird.
Um die Verarbeitung zu beschleunigen habe ich diese Methode per JNI in C implementiert, was auch einwandfrei funktioniert.
Leider ist die Bearbeitung für 700.000 Strings in C langsamer als in Java, was wahrscheinlich daran liegt, dass die Methode, von Java aus, 700.000 mal aufgerufen wird.
Also habe ich mir gedacht, direkt alle 700.000 Strings als ArrayList<String> an eine C-Methode zu übergeben. Diese bearbeitet dann alle erst alle String und gibt eine ArrayList<Klasse> zurück.
Leider weiß ich nicht wie ich auf die ArrayListen<String> in c zugreife, sofern das geht, bzw. wie ich eine ArrayList<myWord> in C erzeuge.
Geht das überhaupt
ich hab eine Methode :
Java:
public native int doX(String strat, String string1, String string2, int max);
die zwei String aufwendig verarbeitet und sehr oft aufgerufen wird.
Um die Verarbeitung zu beschleunigen habe ich diese Methode per JNI in C implementiert, was auch einwandfrei funktioniert.
Leider ist die Bearbeitung für 700.000 Strings in C langsamer als in Java, was wahrscheinlich daran liegt, dass die Methode, von Java aus, 700.000 mal aufgerufen wird.
Also habe ich mir gedacht, direkt alle 700.000 Strings als ArrayList<String> an eine C-Methode zu übergeben. Diese bearbeitet dann alle erst alle String und gibt eine ArrayList<Klasse> zurück.
Java:
public native List<myWord> doWordsToList(String word, List<String> wortListe, boolean sa, int max);
Leider weiß ich nicht wie ich auf die ArrayListen<String> in c zugreife, sofern das geht, bzw. wie ich eine ArrayList<myWord> in C erzeuge.
Geht das überhaupt