Вопросы с тегом «optimization»

13
Java 8: Class.getName () замедляет цепочку конкатенации строк

Недавно я столкнулся с проблемой касательно конкатенации строк. Этот тест обобщает это: @OutputTimeUnit(TimeUnit.NANOSECONDS) public class BrokenConcatenationBenchmark { @Benchmark public String slow(Data data) { final Class<? extends Data> clazz = data.clazz; return "class " +...

13
Самый быстрый способ найти минимальное произведение из 2 элементов массива, содержащих более 200 000 элементов

У меня есть массив a[n]. Номер nвводится нами. Мне нужно найти минимальный продукт a[i]и a[j]если: 1) abs(i - j) > k 2) a[i] * a[j]минимизируется Вот мое решение (очень наивное): #include <iostream> using namespace std; #define ll long long int main() { ll n,k; cin >> n >> k;...

11
можно отключить оптимизацию, чтобы переменные в области видимости из замыканий не «оптимизировались»

Как побочный продукт оптимизации кода, выполняемой современными браузерами, при отладке вы не можете «видеть» все переменные, которые «фактически» находятся в области видимости. Это хорошо известно и было рассмотрено в предыдущем вопросе о SO . Хотя эта функция, безусловно, полезная в производстве,...

11
Эффективный алгоритм усечения строк, последовательно удаляющий одинаковые префиксы и суффиксы

Ограничение времени на тест: 5 секунд Ограничение памяти на тест: 512 мегабайт Вам дана строка sдлины n( n≤ 5000). Вы можете выбрать любой правильный префикс этой строки, который также является ее суффиксом, и удалить либо выбранный префикс, либо соответствующий суффикс. Затем вы можете применить...

11
Существует ли фрагмент кода C, который эффективно вычисляет безопасное переполнение без использования встроенных компиляторов?

Вот функция C, которая добавляет intк другому, терпя неудачу, если переполнение произойдет: int safe_add(int *value, int delta) { if (*value >= 0) { if (delta > INT_MAX - *value) { return -1; } } else { if (delta < INT_MIN - *value) { return -1; } } *value += delta; return 0; } К...

10
Мой компилятор игнорировал мой неиспользуемый статический член класса thread_local?

Я хочу сделать некоторую регистрацию потока в моем классе, поэтому я решил добавить проверку для этой thread_localфункции: #include <iostream> #include <thread> class Foo { public: Foo() { std::cout << "Foo()" << std::endl; } ~Foo() { std::cout << "~Foo()" <<...

9
list :: empty () многопоточное поведение?

У меня есть список, из которого я хочу, чтобы разные темы брали элементы. Во избежание блокировки мьютекса, защищающего список, когда он пуст, я проверяю empty()перед блокировкой. Это нормально, если вызов list::empty()100% времени неправильный. Я только хочу , чтобы избежать сбоя или нарушений...

9
Почему компиляторы C оптимизируют переключение и если по-другому

Недавно я работал над личным проектом, когда наткнулся на странную проблему. В очень узком цикле у меня есть целое число со значением от 0 до 15. Мне нужно получить -1 для значений 0, 1, 8 и 9 и 1 для значений 4, 5, 12 и 13. Я повернулся к Godbolt, чтобы проверить несколько вариантов, и был...

9
Как «скопировать» матрицу, не создавая временную матрицу в памяти, которая вызвала переполнение памяти?

Назначая матрицу в гораздо большую выделенную память, Matlab каким-то образом будет дублировать ее при «копировании», и если копируемая матрица будет достаточно большой, произойдет переполнение памяти. Это пример кода: main_mat=zeros(500,500,2000); n=500; slice_matrix=zeros(500,500,n); for k=1:4...