Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.
twofingers Guru Joined: 02/06/2014 Location: GermanyPosts: 1629
Posted: 04:40pm 16 Sep 2025
Copy link to clipboard
Print this post
First of all, this is just information and not a request for a firmware change. Picomite 2350 version 6.01.00.b5
Hi Peter, while working on the FM (File Manager), I encountered a strange problem. The FM works quite satisfactorily up to about 200 files/folders. Vadim probably rightly limited it for this reason.
In my test version, I increased the possible number to 400 and have about 300 files/directories in the root directory. Sorting by name works satisfactorily, but sorting by date is a pain. Partly, of course, this is due to the simulated Windows/pop-up functions; all data often has to be reread and sorted for a new screen refresh. However, I had the impression that the slowdown wasn't linear, as I would have expected, but increased exponentially with the number of elements (files/folders) to about 4 seconds for 300 elements! However, the test couldn't confirm this non-linearity.
I wanted to know exactly why, so I ran some tests and ultimately wrote a small test program as proof. The result is that with 300 elements, the last 10 elements take 100 times longer to read mm.Info(MODIFIED FName$) than the first 10 elements. This is probably the main factor, but the length of the file name also has a significant influence. I tested with short names (7 characters) and long names (27 characters). The long names doubled the average read time (FDate$= mm.Info(MODIFIED FName$)), which I don't find unusual.
I assume that MM.INFO(FILESIZE file$) works similarly, but I haven't tested it.
As I said, this all surprised me a bit, and I'm glad to now have an explanation.
Kind regards Michael Edited 2025-09-17 07:50 by twofingerscausality ≠ correlation ≠ coincidence