Implementation of sift algorithm

Recently, I implemented the sift algorithm (all its core algorithms have been implemented, just short of some basic assembly), and opened it up haskell-sift.

It still needs more professional optimization, because it is not as fast as opencv under the same CPU acceleration.
It would be better if awhile function could be optimized.

Due to the limited personal level, if anyone can provide professional guidance, this project will be beneficial to everyone.


After my test, on the test picture, opencv runs for 7 seconds, and my method is greater than 20 seconds.
I have optimized Gaussian convolution