Become a sponsor to Khalil Estell
🚀 Revolutionizing C++ Exception Handling
Hello, I'm Khalil Estell! 👋
I'm an ISO C++ committee member and a volunteer staff member at San Jose State University, dedicated to improving a critical mechanism in C++: exception handling.
🌟 The Vision
My goal is to unlock the full potential of C++ exceptions, making them a cornerstone of efficient, reliable, and powerful software development. Here's how:
🔍 Deep Error Insight and Control
The C++ Insight tool would provide unprecedented visibility into error handling, allowing developers to:
- See all errors and their origins
- Optimize error management strategies
- Fine-tune application performance and safety
💪 C++'s Competitive Edge
Properly optimized table-based Itanium ABI exceptions give C++ a unique advantages over errors-as-values:
- ⚡ Superior performance in critical applications
- 📦 Efficient use of space in constrained environments
- 🛡️ Enhanced safety in critical systems
🔮 Future-Proofing C++
By improving this core feature, we're preparing C++ for the next generation of software challenges, from IoT to high-frequency trading and beyond.
🔬 My Research
For the past 3 years, I've been diving deep into C++ exceptions. My findings challenge common misconceptions:
C++ exceptions, specifically table-based Itanium ABI exceptions, offer:
- ⚡ Higher performance
- 📦 Smaller binary sizes
Yes, you read that right! These benefits apply at the assembly level, making them relevant not just to C++, but to all languages compiled into machine code.
🎯 Current Focus
I'm developing a libhal-exceptions
which is a C++ exception handling library for ARM Cortex M processors that is:
- 🏎️ Currently 88% faster than GCC's implementation
- 🥇 Targeting 92% improvement after final optimizations
- 📊 Deterministic memory usage
- ⏱️ Deterministic runtime
- 💾 ROM cost of ~5kB (or less)
🛠️ Upcoming Project: C++ Insights Tool
This year, I'm leading a team at SJSU to create a powerful C++ insights tool. Given a binary file input, it will provide:
- 📊 Set of all types thrown in your application
- 📍 Location of all throws
- 🎯 Location of all catches
- 🚫 Types never caught
⚠️ Exceptions that will terminate your application (with stack traces)
🤝 Support My Work
By sponsoring this project, you're contributing to:
- 📚 Advancing C++ exception handling research
- 🔧 Developing faster, more efficient exception handling libraries
- 🔍 Creating tools for better exception analysis and management
Your support helps make C++ exceptions a more viable and attractive option for high-performance, small-footprint applications.
Thank you for considering sponsorship! Together, we can transform C++ exceptions from a misunderstood feature into a powerful tool, cementing C++ as the go-to solution for high-performance, space-conscious, and safety-critical applications. 💪
$1 a month
SelectEvery little bit helps! Your support is greatly appreciated!
$5 a month
SelectBuy me a coffee ☕️
$10 a month
SelectBuys me 🥯 in silicon valley. Thank you for your support, this each bit helps with further progress on my research!
$25 a month
SelectFor those that really believe in the embedded exceptions movement and making high performance hardware abstractions. Well appreciated!