RadixTree license from IDE
RadixTree license from IDE
Hello! I would like to use the RadixTree algorithm from the file RadixTree.pb
The question is: if I use this algorithm in my program, which is in no way associated with the PureBasic IDE, will my program be owned by Fantaisie Software under the LICENSE-FANTAISIE?
The question is: if I use this algorithm in my program, which is in no way associated with the PureBasic IDE, will my program be owned by Fantaisie Software under the LICENSE-FANTAISIE?
Re: RadixTree license from IDE
if you want a trie you can use squint3 it's lock free concurrent and is licensed as eclipse 2 so you can use it commercially
https://github.com/idle-PB/Squint3
https://github.com/idle-PB/Squint3
Re: RadixTree license from IDE
Thank you for your answer! How different is Squint3 from RadixTree in terms of speed and memory footprint?idle wrote: Mon Jan 13, 2025 8:41 pm if you want a trie you can use squint3 it's lock free concurrent and is licensed as eclipse 2 so you can use it commercially
https://github.com/idle-PB/Squint3
Last edited by Webarion on Tue Jan 14, 2025 4:04 am, edited 2 times in total.
Re: RadixTree license from IDE
I Haven't done any tests against the radix tree in the IDE so no idea.Webarion wrote: Tue Jan 14, 2025 3:45 amThank you for your answer! How different is Squint3 from RadixTree in terms of speed and memory footprint?idle wrote: Mon Jan 13, 2025 8:41 pm if you want a trie you can use squint3 it's lock free concurrent and is licensed as eclipse 2 so you can use it commercially
https://github.com/idle-PB/Squint3
Re: RadixTree license from IDE
Thank you I understand. I'll test it.idle wrote: Tue Jan 14, 2025 4:03 amI Haven't done any tests against the radix tree in the IDE so no idea.Webarion wrote: Tue Jan 14, 2025 3:45 amThank you for your answer! How different is Squint3 from RadixTree in terms of speed and memory footprint?idle wrote: Mon Jan 13, 2025 8:41 pm if you want a trie you can use squint3 it's lock free concurrent and is licensed as eclipse 2 so you can use it commercially
https://github.com/idle-PB/Squint3
I showed some minor errors found in the examples: https://github.com/idle-PB/Squint3/issues/1
Re: RadixTree license from IDE
Later, I will write about tests.
Still, I think that if the license is so strict for a well-known algorithm such as RadixTree, then I will have to write my own version of this algorithm.
Still, I think that if the license is so strict for a well-known algorithm such as RadixTree, then I will have to write my own version of this algorithm.
Re: RadixTree license from IDE
I haven't updated the examples, in a while and I'm in the process of doing some updates to the numeric functionsWebarion wrote: Tue Jan 14, 2025 4:06 amThank you I understand. I'll test it.idle wrote: Tue Jan 14, 2025 4:03 amI Haven't done any tests against the radix tree in the IDE so no idea.Webarion wrote: Tue Jan 14, 2025 3:45 amThank you for your answer! How different is Squint3 from RadixTree in terms of speed and memory footprint?idle wrote: Mon Jan 13, 2025 8:41 pm if you want a trie you can use squint3 it's lock free concurrent and is licensed as eclipse 2 so you can use it commercially
https://github.com/idle-PB/Squint3
I showed some minor errors found in the examples: https://github.com/idle-PB/Squint3/issues/1
so will be a couple of days.
Re: RadixTree license from IDE
If you want a radix tree specifically ask fred or freak if you can use it.Webarion wrote: Tue Jan 14, 2025 4:10 am Later, I will write about tests.
Still, I think that if the license is so strict for a well-known algorithm such as RadixTree, then I will have to write my own version of this algorithm.
What's your use case?
Re: RadixTree license from IDE
It would be nice if these features were added to PureBasic.
Re: RadixTree license from IDE
I tested three algorithms and got the following result:
; For 100000 words (minimum of 20 tests):
; squint3.3.pbi
; Write Keys, Time: 183ms.
; Read Key, Time: 647ms. (1000000 cicles)
; Memory by resource monitor: 23676Kb (difference before adding and after adding)
; RadixTree.pb
; Write Keys, Time: 191ms.
; Read Key, Time: 862ms. (1000000 cicles)
; Memory by resource monitor: 9320Kb (difference before adding and after adding)
; Map internal
; Write Keys, Time: 525ms.
; Read Key, Time: 135ms. (1000000 cicles)
; Memory by resource monitor: 6276Kb (difference before adding and after adding)
Link to test code: https://drive.google.com/file/d/1ZwVVQ5 ... drive_link
; For 100000 words (minimum of 20 tests):
; squint3.3.pbi
; Write Keys, Time: 183ms.
; Read Key, Time: 647ms. (1000000 cicles)
; Memory by resource monitor: 23676Kb (difference before adding and after adding)
; RadixTree.pb
; Write Keys, Time: 191ms.
; Read Key, Time: 862ms. (1000000 cicles)
; Memory by resource monitor: 9320Kb (difference before adding and after adding)
; Map internal
; Write Keys, Time: 525ms.
; Read Key, Time: 135ms. (1000000 cicles)
; Memory by resource monitor: 6276Kb (difference before adding and after adding)
Link to test code: https://drive.google.com/file/d/1ZwVVQ5 ... drive_link
Last edited by Webarion on Sat Jan 25, 2025 5:17 pm, edited 1 time in total.
Re: RadixTree license from IDE
Squint will tell you it's allocated size with squint\size()
Re: RadixTree license from IDE
Thanks for the advice! I'll watch this. But, unfortunately, I don’t yet know how to truly compare the memory occupied by the structures of these three algorithms. Your development has this tool, other versions do not have such a tool. Therefore, with memory it is still subjective.
Re: RadixTree license from IDE
Do you have a procedure for displaying the number of words recorded? For example, in Map this can be done through MapSize, and RadixTree also has something similar. I didn’t find anything similar with you, maybe I didn’t guess it myself.
Re: RadixTree license from IDE
squint\Numkeys()
Re: RadixTree license from IDE
Then the result of squint3.3.pbi is different from the rest:
113930 keys in squint3.3.pbi
100000 keys in RadixTree.pb
100000 keys in Map
Link to test code: https://drive.google.com/file/d/16kSK7P ... drive_link