@ Winni, no you misunderstood me.
Hi!
Just tested:
I/0 checking off,
assignFile(f, RandomFileName)
rewrite (f);
fetch ioresult
closeFile(f)
I/0 checking on
This takes less than 1/10.000 seconds.
Will say: 10.000 operations take one second.
Not even on a SSD but on a cheap internal Toshiba 2 TB HD.
Or: 600.000 operations take a minute.
No that time to wait?
You must be very young.
Winni
My problem can occure within
each single write operation. I can have 2 or 16 or 100 or even 999 (extreme) files open and then if crashes the limit of the disk.
checking IOResult after
each writeln extends my run time by 25%, it is not acceptable for me.
But I have now solved the problem by asking 2 * input-size must at least be free at the time I open the buffers.
Input size I know (mostly 90% cases, only not in the case I get some by < "piped" input but then I estimate a standard value)
and if free size on disk is less -> quit. I checked out, I never use more than 2 * input-size for buffer and/or result
@ marcov well Size matters for me personally. My 32bit EXE is 114 kB big now and it does all it must without Sysutils. The 64bit EXE is above 220 kB and it does the same but even worse and slower (I know this problem, it is some about 64bit EXE uses RAM for longer time and then Windows swaps but it is less efficient than with my 32bit where I mention RAM over earlier and start "divide+impera" which is faster than wait for the Windows swap).