Использование лучшего диска определенно улучшит производительность. Есть и другие показатели, которые вы можете отслеживать.
iostat
для мониторинга или получения данных из данных FTDC MongoDB. mongostat
. Если эти цифры остаются низкими, как ваш пример вывода, особенно qrw , mongo может поддерживать ваши запросы без очереди запросов. top
или аналогичной. Надеюсь, что выше помощь.
Я искал вокруг раздела массивов руководства, это может помочь:
char[] str1 = "abc"; // error, "abc" is not mutable
char[] str2 = "abc".dup; // ok, make mutable copy
invariant(char)[] str3 = "abc"; // ok
invariant(char)[] str4 = str1; // error, str4 is not mutable
invariant(char)[] str5 = str1.idup; // ok, make invariant copy
В основном то, к чему это сводится, - то, что строковые литералы хранятся в части только для чтения памяти. char[]
"изменяемый массив изменяемых символов", которые, если записано в, генерировали бы катастрофический отказ во время выполнения.
Таким образом, компилятор действительно пытается защитить Вас здесь.
invariant(char)[]
означает "изменяемый массив инвариантных символов", который является точно, каково это.
PS: Когда Вам не нужен он, чтобы быть a char[]
, Вы могли бы хотеть использовать auto
, как в, auto variable = "value"
. Освобождает Вас от размышления о его типе :)
используйте автоматический и не волнуйте, каков тип:
auto s = "some text";
позвольте компилятору волноваться о типе.
Существует две основных версии языка D. Они, как правило, несовместимы друг с другом, хотя код может быть написан для компиляции в обоих.
D1 - это то, что код, который вы предоставили, похоже, написан. Он не имеет концепция неизменяемых массивов, следовательно, это работает.
D2 - это то, как вы пытаетесь его скомпилировать, поэтому 2 начинается с номера версии компилятора. Одной из основных особенностей D2 является концепция константных и неизменяемых / инвариантных ссылок на данные.
char[] text; // mutable data
const(char)[] ctext; // data may be mutable or immutable - but either way,
// it will not be changed through this reference
invariant(char)[] itext; // immutable data
Строковые литералы в D2 классифицируются как неизменяемые данные и поэтому не могут быть присвоены char [], а только const (char) []
или инвариант (char) []
(или эквиваленты wchar или dchar).