If fitting a dataset with more than 2048 points (10000 here), a series of messages
Max. number of data points scaled up to: 3072 Max. number of data points scaled up to: 4608 Max. number of data points scaled up to: 6912 Max. number of data points scaled up to: 10368
is displayed before each fit, which is slighly annoying, if nothing else. Especially for those windows users who cannot compile their own binary and change the value in fit.c:154, would it be possible to have an option "MAX_DATA" to set fit
?
(On second thought, this sounds like something I might manage to implement. I'll come back with a status in a while.)
Last edit: Karl Ratzsch 2016-05-18
These limits look like they come from an age when 64kB were a lot... Couldn't we just eliminate this warning/info message - or at least only emit it for really sizeable datasets?
I guess something like 64k would be a sensible change to the default of MAX_DATA = 2048. I cannot ascertain if it would be hard to do this in a dynamic fashion.
plot
does not have a hard-set limit, so it should be possible, i guess.Well, as it is, 2048 data points already eat more than 64 KiB, what with there being 6 arrays of at least 2048 doubles if you go there. That's 96 KiB, and yes, that quite hard to support for a 16-bit platform, which was still supported back then.
And there's a reason why the factor is 1.5 instead of 2, too. Back when that factor was set (by myself, IIRC), the maths part would allocate a matrix of (num_data * num_data) elements, so a growth by 2 would actually increase the memory usage by a factor of 4. So I chose 1.5, which yields an effective resize of 2.25. The underlying solver has changed in the meantime, so memory consumption is now linear in num_data. That means a factor of 2 would be sensible now.
Btw. thanks to MSYS2/Mingw64 compilation is now almost as pain-free on Windows as it is on *nix, see [support-requests:#199].
Related
Support Requests: #199
Coincidentally, I discovered that post half an hour ago and am currently installing msys2. :-)
Here's the equivalent code section from
plot2d.c
:No message whatsoever. Plus a more "agressive" extension
2*n+1000
instead of(n*3)/2
.I propose to adopt the code in
fit.c
accordingly.Instead of the proposed option the code now no longer prints a message when enlarging the max. number of data points. Also the maximum number is doubled on every iteration.
In CVS for version 5.1, but might go to 5.0 in as well in my opinion.
Sure. Might as weel go into 5.0 also. I don't see any down-side.
OK. Done.