mookid / diffr

Yet another diff highlighting tool
MIT License
575 stars 22 forks source link

Use perfect hashing. #57

Closed mookid closed 4 years ago

mookid commented 4 years ago

This improves performance of the best_projection part, as most time there is spent comparing slices.

On https://github.com/git/git/commit/786dabecd4766bfda0083491ef543e3b5d1d9f39 this makes the difference:

rm_hash:
          hunk processing time (ms)           23527       (99.991%)
                -- compute lcs (ms)            7303       (31.038%)
               -- optimize lcs (ms)           16208       (68.885%)
         total processing time (ms)           23529

master:
          hunk processing time (ms)           33709       (99.988%)
                -- compute lcs (ms)            7614       (22.585%)
               -- optimize lcs (ms)           26083       (77.368%)
         total processing time (ms)           33713