I have rewritten large parts of the UdgerParser from the dev_v3 branch to make it threadsafe, faster and cleanup the code. It passes all the tests, and from my own testing is much faster than the previous version.
Compared to the previous implementation it caches most of the database in memory, except IP locations and IPv6 data center mainly because the IP location lookup table is huge. It adds a flag to do Data Center parsing (DataCenterParserEnabled) so that you enable data center parsing at the same time as IP location can be disabled (so you can run it fully in memory without disk reads and still parse IPv4 data centers).
We have been running it in production for a while, and it seems to be working well.
Currently its a fork available here: https://github.com/nordicfactory/udger-dotnet
I would be happy to make a PR if you think its appropriate.
I have rewritten large parts of the UdgerParser from the dev_v3 branch to make it threadsafe, faster and cleanup the code. It passes all the tests, and from my own testing is much faster than the previous version.
Compared to the previous implementation it caches most of the database in memory, except IP locations and IPv6 data center mainly because the IP location lookup table is huge. It adds a flag to do Data Center parsing (DataCenterParserEnabled) so that you enable data center parsing at the same time as IP location can be disabled (so you can run it fully in memory without disk reads and still parse IPv4 data centers).
We have been running it in production for a while, and it seems to be working well.
Currently its a fork available here: https://github.com/nordicfactory/udger-dotnet
I would be happy to make a PR if you think its appropriate.