mikedepetris wrote: 2020-01-07, 20:47 UTC
Yes I had a try installing and configuring as Admin, putting iot as the first contect plugin, nothing works in 9.50B11 x64 and 32 bit
For viewing log use DbgView++
Also may try increase log level via INI-file.
I don't recommend that you use this plugin for general use: While the plugin speeds up the opening of the archive, the list of all files created by TC is also needed in other places, e.g. when unpacking entire subdirectories. I have optimized the reading of the linear list in beta 12, so it should be considerably faster (although not as fast as this plugin, this would require a lot of internal changes).
ghisler(Author) wrote: 2020-01-08, 11:39 UTC
... the list of all files created by TC is also needed in other places, e.g. when unpacking entire subdirectories.
WCP-plugin does not change the list of all files created by TC.
The plugin only replaces this list for a short time, when a list of elements is formed for display on the panel.
This replacement has no effect on the unpacking process!
Even the process of adding and removing is not affected, but the visual glitches are stunning.
ghisler(Author) wrote: 2020-01-08, 11:39 UTC
I have optimized the reading of the linear list in beta 12, so it should be considerably faster (although not as fast as this plugin, this would require a lot of internal changes).
Test results for TotalCmd 9.50b12 32-bit (test conditions are the same):
Old algo | New algo | WCP-plugin | items | comment/directory
------------|-------------|-------------|--------|--------------------------
46527.07 ms | 18235.67 ms | 3958.95 ms | 506900 | file collection building
4615.79 ms | 298.40 ms | 0.17 ms | 1 | [root dir]
4830.28 ms | 40.43 ms | 3.11 ms | 130 | [AP\kernel\kernel]
5653.89 ms | 321.66 ms | 4.66 ms | 188 | [AP\external]
The increase in speed is impressive! Bravo!
But you can increase the speed by another 30% by using the StrCmpIW function!
2remittor
Thanks for the tests with beta 12!
I'm reluctant to use StrCmpIW because I don't know what it does internally. For example, it might return "identical" for some strings, e.g. one user had the problem that StrCmpLogicalW returns identical for strings starting with a dash and string without, e.g. "-test.txt" and "test.txt".
I tried to implement a tree for just the directories, but it was very slow. How do you store directories within a directory? Do you use a balanced tree for that too? I only tried with a linear list.
ghisler(Author) wrote: 2020-01-13, 10:44 UTC
For example, it might return "identical" for some strings, e.g. one user had the problem that StrCmpLogicalW returns identical for strings starting with a dash and string without, e.g. "-test.txt" and "test.txt".
ghisler(Author) wrote: 2020-01-13, 10:44 UTC
I tried to implement a tree for just the directories, but it was very slow. How do you store directories within a directory?
I am currently working on porting this code to the PAXZ-plugin. And it became clear that need to implement a recursive version of the function get_next, so that can get a complete list of all the elements.