Skip to content

Commit

Permalink
Optimized to double the parsing performance
Browse files Browse the repository at this point in the history
- Record parsing results in a vector to avoid calling parseFilter() twice;
  • Loading branch information
Edsuns committed Jan 11, 2021
1 parent 38cd9b2 commit ab18236
Show file tree
Hide file tree
Showing 4 changed files with 186 additions and 146 deletions.
7 changes: 1 addition & 6 deletions adblock-client/src/main/cpp/adblockclient-lib.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ Java_io_github_edsuns_adblockclient_AdBlockClient_loadBasicData(JNIEnv *env,
jobject,
jlong clientPointer,
jbyteArray data) {

int dataLength = env->GetArrayLength(data);
char *dataChars = new char[dataLength];
env->GetByteArrayRegion(data, 0, dataLength, reinterpret_cast<jbyte *>(dataChars));
Expand All @@ -54,18 +53,16 @@ Java_io_github_edsuns_adblockclient_AdBlockClient_loadProcessedData(JNIEnv *env,
jobject /* this */,
jlong clientPointer,
jbyteArray data) {

int dataLength = env->GetArrayLength(data);
char *dataChars = new char[dataLength];
env->GetByteArrayRegion(data, 0, dataLength, reinterpret_cast<jbyte *>(dataChars));

auto *client = (AdBlockClient *) clientPointer;
client->deserialize(dataChars);

// We cannot delete datachars here as adblock keeps a ptr to it.
// We cannot delete dataChars here as adblock keeps a ptr to it.
// Instead we send back a ptr ref so we can delete it later in the release method
return (long) dataChars;

}


Expand All @@ -75,7 +72,6 @@ JNICALL
Java_io_github_edsuns_adblockclient_AdBlockClient_getProcessedData(JNIEnv *env,
jobject /* this */,
jlong clientPointer) {

auto *client = (AdBlockClient *) clientPointer;

int size;
Expand All @@ -92,7 +88,6 @@ extern "C"
JNIEXPORT jint JNICALL
Java_io_github_edsuns_adblockclient_AdBlockClient_getFiltersCount(JNIEnv *env, jobject /* this */,
jlong clientPointer) {

auto *client = (AdBlockClient *) clientPointer;
int count = client->numFilters
+ client->numCosmeticFilters
Expand Down
Loading

0 comments on commit ab18236

Please sign in to comment.