Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

Why don you use threads, raw devices, async-I/O, ?

0
Posted

Why don you use threads, raw devices, async-I/O, ?

0

There is always a temptation to use the newest operating system features as soon as they arrive. We resist that temptation. First, we support 15+ operating systems, so any new feature has to be well established before we will consider it. Second, most new wizz-bang features don’t provide dramatic improvements. Third, they usually have some downside, such as decreased reliability or additional code required. Therefore, we don’t rush to use new features but rather wait for the feature to be established, then ask for testing to show that a measurable improvement is possible. As an example, threads are not currently used instead of multiple processes for backends because: • Historically, threads were poorly supported and buggy. • An error in one backend can corrupt other backends if they’re threads within a single process • Speed improvements using threads are small compared to the remaining backend startup time. • The backend code would be more complex. • Terminating backend processes all

0

There is always a temptation to use the newest operating system features as soon as they arrive. We resist that temptation. First, we support 15+ operating systems, so any new feature has to be well established before we will consider it. Second, most new wizz-bang features don’t provide dramatic improvements. Third, they usually have some downside, such as decreased reliability or additional code required. Therefore, we don’t rush to use new features but rather wait for the feature to be established, then ask for testing to show that a measurable improvement is possible. As an example, threads are not currently used in the backend code because: • Historically, threads were unsupported and buggy. • An error in one backend can corrupt other backends. • Speed improvements using threads are small compared to the remaining backend startup time. • The backend code would be more complex. So, we are not ignorant of new features. It is just that we are cautious about their adoption. The TODO l

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.