From: Stefano M. <mo...@ic...> - 2020-08-06 15:54:13
|
Did you check if persistent=True makes any difference? > On 6 Aug 2020, at 16:21, Mick Sulley <mi...@su...> wrote: > > Well this gets more curious. I am now measuring the time for each read, reading type, power and latesttemp. Time for all is generally < 0.1 seconds, but then when I hit the slow loop the read for type is around 0.7 seconds, the others still < 0.1 seconds. I don't really need type so I removed it and re-tested, on slow loops the power read is around 0.7 seconds, latesttemp still < 0.1 seconds. So I removed power as well, just reading latesttemp, on slow loops that is now around 0.7 seconds. So it seems that at some point a sensor takes many times longer for its next read, irrespective of which field is read. > > I have now tested with 19, 11 and 2 sensors and the slow loop occurs every 120 seconds. I am intrigued to know what causes this, any ideas? > > Thanks > > Mick > > On 06/08/2020 10:23, Mick Sulley wrote: >> OK I will log read times and see what that shows. >> >> You say 'I also log if the error of the 1wire bus changes.' how do you do that? >> >> No I don't really need to read that fast, this is just a test setup to get a better understanding so I can hopefully fine tune my main system. >> >> There should not be anything else running. I just tried running top at the same time, I monitored it at the point of the slow scan and didn't see anything else significant. >> >> Mick >> >> On 06/08/2020 09:06, Martin Patzak wrote: >>> It looks like your timing has improved after all! >>> >>> in your original Python-code you could time every read for each sensor. >>> I have also powered sensors and a read is usually faster than 0.1 seconds. >>> I log in a file if the read took longer than 0.3 seconds, which is almost never the case. >>> I also log in the file if the whole reading loop took longer than 3 seconds, which again is almost never the case. >>> >>> I also log if the error of the 1wire bus changes. >>> >>> I read 25 sensors every full and every half minute, so maybe you could implement a delay as well and see if things get more consistent. >>> Do you need to read so fast in a loop for you application? >>> >>> What else is running on your machine? You could run top in parallel to your python loop. >>> >>> >> >> >> >> _______________________________________________ >> Owfs-developers mailing list >> Owf...@li... <mailto:Owf...@li...> >> https://lists.sourceforge.net/lists/listinfo/owfs-developers <https://lists.sourceforge.net/lists/listinfo/owfs-developers> > _______________________________________________ > Owfs-developers mailing list > Owf...@li... > https://lists.sourceforge.net/lists/listinfo/owfs-developers |