I'm running an application that has a polling loop to check a serial port for certain signals, and on my laptop I can get about 6700 samples per second, which (of course) consumes 100% CPU; which may impact battery life. BTW, I'm running Python 2.2.2 on my laptop... not had a need to upgrade yet.
I really only need between 500 and 1000 samples per second, but as the smallest sleep available normally is time.sleep(.01) -- which brings my samples/sec to a nice 100; but I need it a little faster. I found this: http://freshmeat.net/projects/rtsched/ which is supposed to bring real-time scheduling to Python (which the docs say is dangerous if used incorrectly) and also implementations of msleep/usleep/nanosleep. I downloaded it, compiled it, installed it, and popped in an import rtsched at the top and rtsched.msleep(1) where the time.sleep(.01) used to go... and now I get around 50 samples per second. I tried the usleep(1) and nanosleep(1) and the same thing happens. The rtsched implementation *is* working, as I can put in rtsched.msleep(100) and my samples/sec drops to 10. I'm guessing there's so much overhead to calling rtsched that it's b0rking up the works. :-/ Anyone know of: 1) a working millisleep/microsleep implementation for python 2.2+? -or- 2) will upgrading to a newer version of Python get me what I need? [[ I looked thru the "New in 2.4" dox and nothing I needed was listed...]] I've googled (off and on for more than a few days) and searched the archives, and came up empty so far... This isn't life or death by any means... My laptop known for long battery life, so everything should be OK as is, but why grind the CPU if it's not necessary, eh? ;-) Just a niggling little thing that's been on the back of my mind... [[ Oh, I found a reference to wxwindows that might have something that could work, but I was hoping for a little less overkill... my app barely uses ncurses. ]] Thanks! Roger "Merch" Merchberger -- Roger "Merch" Merchberger -- SysAdmin, Iceberg Computers [EMAIL PROTECTED] Hi! I am a .signature virus. Copy me into your .signature to join in! _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor