Форум программистов, компьютерный форум CyberForum.ru

Что такое compile-time алгоритмы и для чего они нужны? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужен эмулятор диспечера задач. http://www.cyberforum.ru/cpp/thread419470.html
Ребят,помогите,пожалуйста,может у кого завалялся эмулятор диспечера задач на С/С++,очень надо. Нужно,что бы он создавал процесс,вводил его в состояние ожидания/выполнения и закрывал. Не откажусь от любой помощи,forever love <3.
C++ Excel Automation in C++ Коллеги, прошу помощи! Нужен пример рабочего С++ кода, который делает следущее: - конектится к работающему в настоящий момент Excel; если Excel не запущен, то кидает exception; - конектится к текущему worksheet; если worksheet отсутствует, то кидает exception; - если все приконектилось удачно, читаем значение любой ячейки, например первый столбец/первая строка. Конектиться надо к любому... http://www.cyberforum.ru/cpp/thread419418.html
C++ Совместимость кода Code Composer Studio (CCS) с C/C++
С преподавателем друг друга не поняли. Как результат, прихожу с честно сделанными в Паскале лабами под занавес года, а он мне встречный подарок: "раз ты так редко ходишь, то почему не сделал лабы в CCS?". В общем логика железная. Пошел гуглить что это за CCS. А вся группа вовсе не делала этих лаб, преподаватель засчитал им работу на парах. Грустно, а последний зачет у меня остался. Информации...
C++ Как получить TID текущего потока? (библиотека pthread, компилятор g++ 4.6.1 открытый вопрос niXmanу)
Да, как? #include <windows.h> #include <pthread.h> #include <stdio.h> #include <stdlib.h> void *BusyWork(void *t) { printf("TID= %x\n", pthread_self()); printf("TID= %x\n", (unsigned int)GetCurrentThreadId ()); return NULL;
C++ Непонятная разница в производительности http://www.cyberforum.ru/cpp/thread416848.html
Уважаемые эксперты! Есть у меня программа на С++, код которой я транслировал в двух системах: • Microsoft Visual Studio 2010 со штатным компилятором среды; • Code::Blocks версии 10.05 с пакетом MinGW и компилятором g++ версии 4.6.1. Проверка проводилась на следующей платформе: • Процессор Intel® Core™ i3 CPU 530 @2.93, индекс производительности 6.9; • Оперативная память 4 Гб, индекс...
C++ Высота бинарного дерева поиска Что неправильно в программе? Полное условие #include <iostream> #include <cstdio> #pragma comment (linker, "/stack:250000000") using namespace std; подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17618 / 5842 / 375
Регистрация: 30.03.2009
Сообщений: 16,117
Записей в блоге: 26
29.12.2011, 13:37  [ТС]
Цитата Сообщение от niXman Посмотреть сообщение
я говорил о том, что 13 процентов затрат на поиск сериализатора/десериализатора. вывод профайлера я рассматривал как 100 процентов времени работы. далее, для уменьшения значений, я поделил 100 процентов времени работы на единицы, по одной секунде на единицу. и какая разница, 13 процент затрат на 100 процентов работы, или на 1 процент, или на одну секунду? если кол-во обращений к std::map фиксировано
Не понял вообще ничего. Ещё раз чётко и конкретно можешь сказать, сколько В СЕКУНДАХ ты получил выигрыш в скорости работы и сколько секунд работало приложение целиком

Цитата Сообщение от niXman Посмотреть сообщение
rpc процедуры + их типы + имена = константы
Естественно. Как и строковые литералы

Цитата Сообщение от niXman Посмотреть сообщение
для того чтоб что-то понять, должен быть интерес. а насильно, сам знаешь..
Ну скажи, какой мне смысл читать какую-то документацию от boost'а, если я этот самый boost и в глаза не видел. Ссылка на эту документацию эквивалентно ответу "тут много раз уже на форуме было, поищи": и вроде бы как ответил на вопрос и вроде бы как конкретно ответил, но полезной информации в этом ответе нет.

Цитата Сообщение от niXman Посмотреть сообщение
тебе уже приводили коды. но все тебе не так, и все не эдак
Из конкретных кодов, по которым хоть что-то можно понять человеку, не владеющему глубиной познаний в конкретной области, пока привели только два: вычисление хэш-суммы и вычисление квадратного корня. Пока в обоих случаях я оцениваю выигрыш как доли секунды. И лично моё мнение пока сводится к тому, что особенной практической пользы в этих compile-time алгоритмах я пока не вижу.

То, что авторы boost'а реализовали какие-то интерфейсы таким образом, что в compile-time что-то там вычисляется - это безусловно хорошо. Только принципальное отличие этого момента - это код, написанный другими людьми (точно так же как и функция sqrt написана другими людьми). И пусть выигрыш на исполнении будет мизерным, но это с лихвой компенсируется тем, что пользователи boost'а не делают никаких дополнительных затрат ради этого мизерного выигрыша. Правда эти вещи я бы не стал называть словом "алгоритм", а назвал бы словом "технология". А вот вычисление хэш-суммы и квадратного корня - да, это уже алгоритмы, работая с которыми вычисления можно переложить на компилятор. Хотя я бы постарался их избегать по той причине, которую указывал уже не раз: в случае чего, невозможно оттрасировать работу этого шаблона, чтобы выяснить, в каком же месте он косячит, а потому нужно отладивать это кучей извращенческих способов. Вариант с constexpr ко всему прочему поддерживается не на всех версиях компиляторов. Стоят ли те выигранные доли секунды потери возможности компилировать на не самых современных компиляторов - это каждый решает для себя сам. Пока я для себя не увидел ни одного compile-time алгоритма, который по каким-то причинам захотелось бы включить в свой проект

Добавлено через 1 минуту
Цитата Сообщение от niXman Посмотреть сообщение
Evg, придумай задачу, которая, как тебе кажется, покажет профит. тогда подумаем над реализацией. и напоследок - над тестами
Дык я уверен в том, что эти алгоритмы не дают ощутимого профита в большой РЕАЛЬНОЙ задаче. Как же я могу задачу придумать
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru