Have you considered a Trie like a Judy array? specifically Judy::L (int to pointer) and Judy::HS (string to int/pointer)
I hadn't. In the past; I've avoided Judy arrays for the simple reason that I hate to use stuff I don't understand. And whilst I 'understand' the principles behind Judy arrays, the code is so complex that I doubt my ability to maintain it; and hate to get stuck needing other people to do things for me.
And I just rediscovered another reason I've not used them:
C:\perl64\packages\Judy-0.41>build
compilet-1064304640.c
Creating library C:\Windows\TEMP\compilet.lib and object C:\Windows
+\TEMP\compilet.exp
Generating code
Finished generating code
Checking prerequisites...
requires:
! Alien::Judy is not installed
build_requires:
! Test::Deep is not installed
ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the v
+ersions
of the modules indicated above before proceeding with this installatio
+n
Run 'Build installdeps' to install missing prerequisites.
Creating new 'MYMETA.yml' with configuration results
Creating new 'Build' script for 'Judy' version '0.41'
C:\perl64\packages\Judy-0.41>Build installdeps
Too early to specify a build action 'installdeps'. Do 'Build installd
+eps' instead.
Recurse: see recurse!
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|