Kristian has implemented asynchronous input/output. This has been tested with QEmu, which shows increased performance both due to this and the also new implementation of memory-mapped files. A development build with async I/O is already available. Other recent enhancements it includes are automatic log-in without password and installation by keyboard only, without needing a mouse.
Async I/O is implemented as a native POSIX interface. The available functions are aio_read() and aio_write() . In addition, the asynchronous case for msync() in memory-mapped files is now supported. In Syllable 0.6.6, async I/O is simulated in the GNU C library and executed synchronously. This was enough to make QEmu work, but now async I/O is actually implemented through a syscall kernel interface.
Originally, Syllable relied solely on pervasive multithreading for its exceptional responsiveness. A few years ago, a new scheduler was introduced that is more suitable to desktop use than the original round-robin scheduler. Async I/O will further enhance responsiveness in ported applications that use it.
|