I need some advice on selecting the D programming language for a project. The project is a low-level library akin to a database with many associative containers and so forth. Hence efficiency is quite important to me.
I need to provide a C API for the library for compatibility with other languages like C++ and Python and I also anticipate that some sections might need to be written in plain C for tuning performance.
D seems very appealing for this job: Are there any pitfalls I should be aware of considering these requirements? How does the performance of D containers compare to the std::(map, vector, unordered_map, etc...), taking manual performance-tuning into account (e.g. using std::map::lower_bound for search/insert and so forth).