Skip to content
You must be logged in to sponsor kammce

Become a sponsor to Khalil Estell

@kammce

Khalil Estell

kammce
Bay Area, California

🚀 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:

  1. ⚡ Higher performance
  2. 📦 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:

  1. 📊 Set of all types thrown in your application
  2. 📍 Location of all throws
  3. 🎯 Location of all catches
  4. 🚫 Types never caught
  5. ⚠️ 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. 💪

Current sponsors 3

@naterpotatoers
Private Sponsor
@LB--
Past sponsors 2
@ruifig
@HenryMiller1

Select a tier

$ a month

You'll receive any rewards listed in the $5 monthly tier. Additionally, a Public Sponsor achievement will be added to your profile.

$1 a month

Select

Every little bit helps! Your support is greatly appreciated!

$5 a month

Select

Buy me a coffee ☕️

$10 a month

Select

Buys me 🥯 in silicon valley. Thank you for your support, this each bit helps with further progress on my research!

$25 a month

Select

For those that really believe in the embedded exceptions movement and making high performance hardware abstractions. Well appreciated!