08Plagiato aptikimas — našumo perrašymas·2020
Plagiato aptikimas
Perrašiau pagrindinį algoritmą iki ~12× greitesnio aptikimo milijonų dokumentų bazėje.
C++ branduolysPanašumo paieška~12x pagreitėjimasMilijonai dokumentųAlgoritmo perrašymas
Problema
Plagiato aptikimo sistema, naudota daugelyje universitetų, dideliame dokumentų kiekyje veikė per lėtai.
Ką padariau
Savo iniciatyva perrašiau pagrindinį panašumo paieškos algoritmą: vietoje įdėtų ciklų panaudojau raktinių žodžių paieškos struktūrą (~9× greičiau), tada branduolį perrašiau C++ kalba ir integravau su PHP sistema produkcijoje, pasiekdamas ~12× pagreitėjimą.
Rezultatas
~12× greitesnis aptikimas milijonų dokumentų bazėje, naudotoje daugelyje universitetų.
Svarbiausia
- —Įdėtus ciklus pakeičiau raktinių žodžių paieškos struktūra — ~9× greitesnis aptikimas.
- —C++ branduolys produkcijoje, integruotas su PHP sistema — ~12× pagreitėjimas.
Prieš1×
Po (C++)~12×
~12×
~12× greitesnis aptikimas milijonų dokumentų bazėje, naudotoje daugelyje universitetų.