3 ms·
I found it a lot easier than I thought it would be. Ada has RAII (controlled types) which you can use for reference counting and resource management like in C+
by pyjarrett 5y ago
I found it a lot easier than I thought it would be. Ada has RAII (controlled types) which you can use for reference counting and resource management like in C++.
Septum uses a lot of dynamically allocated memory, but it's all hidden by smart pointers or Unbounded_String (built-in reference-counted COW strings). I use it routinely to search codebases in the tens of millions of lines and it's fast enough right now (single second search times) due to task parallelism I did in Ada that I haven't even bothering to tune it or do any fancy indexing yet.
- MaxBarraclough 5y agoPresumably that means you're vulnerable to issues with reference cycles?
- pyjarrett 5y agoIn theory, yes, I'm vulnerable to reference cycles, but I haven't run into this in practice. The GNAT smart pointer types supports weak pointers if I need it.
- deleted 5y ago[deleted]