История изменений
Исправление waker, (текущая версия) :
дальнейшие замечания....
struct dstring
{
char* data;
size_t length;
size_t capacity;
};
это полная херня.
чтобы выделить подобную структуру — нужно дернуть malloc 2 раза.
я бы заменил на
struct dstring {
size_t length;
size_t capacity;
char data[1];
}
и выделял память под всю структуру и строку целиком.
(если вдруг непонятно, дело тут не только в количестве mallocs, но и в гарантированных кеш-промахах)
Исходная версия waker, :
дальнейшие замечания....
struct dstring
{
char* data;
size_t length;
size_t capacity;
};
это полная херня.
чтобы выделить подобную структуру — нужно дернуть malloc 2 раза.
я бы заменил на
struct dstring {
size_t length;
size_t capacity;
char data[1];
}
и выделял память под всю структуру и строку целиком.