What a Long, Strange Trip This Has Been

This topic contains 0 replies, has 1 voice, and was last updated by Profile photo of Jon "maddog" Hall Jon “maddog” Hall 2 years, 10 months ago.

Viewing 1 post (of 1 total)
  • Author
  • #419

    To understand what performance opportunities there may be in these modules you need to remember why they were written the way they were in the first place, some designed close to thirty years ago (or more):

    (1) Most systems were a single core, single CPU.

    (2) Memory was very expensive

    (3) Compilers were not as good

    (4) The Linux kernel was “simpler”

    The offshoot of the first three list items is that often there were trade-offs of speed and efficiency of the CPU for saving memory, or use of assembly language to give greater efficiency, easier to do with a single core CPU, but harder when you have threading in the kernel as multi-core CPUs.

    As an example of the last bullet, the Linux kernel of that time did not support the real-time extensions to the POSIX APIs.  There was no mmap, no asynchronous I/O, no message passing, and a lot of other features of the modern-day Linux kernel.

    Now is a good time to re-think the design of these programs for modern-day computer systems.  Conditional compilation can allow the existing code to stay in place when appropriate, but newer algorithms and code might see huge improvements in efficiency of the programs.

    Let the fun begin!

Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.