Go to card has become slow
Bob Sneidar
bobsneidar at iotecdigital.com
Sat Apr 11 17:50:13 EDT 2020
Mark, you are a freaking computing god! (small G).
Bob S
> On Apr 11, 2020, at 8:41 AM, Mark Waddingham via use-livecode <use-livecode at lists.runrev.com> wrote:
>
> On 2020-04-11 13:54, Neville Smythe via use-livecode wrote:
>> Sorry Brian, I uploaded from the wrong folder. Here is the update test
>> set. But the only difference is that you don’t need to hold down the
>> shift key to see the binary save timing.
>> https://www.dropbox.com/sh/cb2r9jbohxqv6bp/AAAQ1weLLlzrKYQ21yn1apf9a?dl=0
>> <https://www.dropbox.com/sh/cb2r9jbohxqv6bp/AAAQ1weLLlzrKYQ21yn1apf9a?dl=0>
>> Colin, the test set here shows the timing of saving of stacks; the
>> times for Windows 10 are a large multiple of Mac/Unix and we
>> discussing possible reasons before updating the bug report bug 21305
>> <https://quality.livecode.com/show_bug.cgi?id=21305> for Quality
>> Control
>
> So I also had a look at this today - using Visual Studio's builtin CPU profiling diagnostic when running the engine in release mode.
>
> There appear to be two reasons for the difference:
>
> 1) When saving each style run (block) in a field the engine is making three Win32 API calls.
>
> 2) The saving method uses (and always has used) direct Win32 system calls to manipulate files without any buffering (on other platforms we wrap the standard C library stdio FILE which has its own buffer).
>
> I tested your very neat little stack with 1323 cards (about 36Mb of data).
>
> On my machine with the engine as it is it takes:
>
> - Windows 10 (VM) [ Community 'develop' ] - 10s
>
> - macOS Catalina (Native) [ Business 9.5.0 ] - 0.45s
>
> After doing a hacky patch to the sites using the Win32 API calls (i.e. caching the results and only calling them once) I got:
>
> - Windows 10 (VM) [ Community 'develop' ] - 1.8s
>
> After adding a very simple write buffer to the Win32 implementation of the system file stream class we have. I got:
>
> - Windows 10 (VM) [ Community 'develop' ] - 0.4s
>
> Anyway, the patches I've made are quite rough at the moment, but I'll endeavour to submit them as PRs in the next few days :)
>
> Warmest Regards,
>
> Mark.
>
> --
> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
More information about the use-livecode
mailing list