Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

Performance

In general, performance should not be your main reason for using sigsafe. However, here I will show that performance is at least comparable to libc's system call wrappers, unsafe signals and all. It may be significantly faster than some ways of handling signals safely, notably the self-pipe trick. It certainly is faster, but the jury is still out on whether this is a significant difference.

This will contain pretty graphs of benchmarks of sigsafe benchmarks (a microbenchmark and a use in a real application). But I haven't made them yet. Until then, you're welcome to run the microbenchmark yourself. Try comparing the output from:

The real-world benchmark will likely be Apache. I've made a patch that eliminates a need to use select before read and write for socket timeouts. There are actually no signals involved, but it's a very analogous situation. I expect to find that under platforms with high system call overhead (notably Darwin), it is noticeably faster. Unfortunately, I've run into hardware problems while benchmarking. Stay tuned...


Generated on Fri Feb 4 11:13:32 2005 for sigsafe by doxygen 1.3.5