Closed luispedro closed 6 years ago
Currently, the code uses a sorted Vector InfoRef where InfoRef is
Vector InfoRef
InfoRef
data InfoRef = InfoRef {-# UNPACK #-} !ShortByteString {-# UNPACK #-} !Double
but this has a lot of memory overhead compared to something like a C++ std::vector<std::pair<const char*, double>> where the string data is packed together.
std::vector<std::pair<const char*, double>>
This could easily be done as a generic Haskell library independent of any NGLess code.
This has been addressed in NGLess 0.7
Currently, the code uses a sorted
Vector InfoRef
whereInfoRef
isbut this has a lot of memory overhead compared to something like a C++
std::vector<std::pair<const char*, double>>
where the string data is packed together.This could easily be done as a generic Haskell library independent of any NGLess code.