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. ๐Ÿ’ช

1 sponsor has funded kammceโ€™s work.

@naterpotatoers

Select a tier

$ a month

Choose a custom amount.