Нет, если ваша программа является закрытым исходным кодом и вы хотите установить связь с LGPL-версией Qt, вы должны использовать динамическую связь. Если вы хотите статически связать, то вы должны купить лицензию на Qt.
Для использования кода LGPL в проекте с закрытым исходным кодом пользователь должен иметь возможность заменить часть кода lgpl. Самый простой и на сегодняшний день самый распространенный способ сделать это, чтобы положить все LGPL код в dll, а затем пользователь может заменить DLL, если они выбирают.
Вы также можете использовать любые технические средства, которые ваш язык позволяет достичь той же цели. Вы можете распространять объектные файлы, а затем пользователь может перепривязать, как указал другой комментатор, но я никогда не видел, чтобы это делалось на практике.
Не имеет значения, является ли ваш продукт бесплатным или платным. Можно продавать продукты GPL/LGPL.
-121--2885047-Для частоты дискретизации > 11025 Гц необходимо выполнить понижающую выборку, что является двухэтапным процессом. Сначала требуется фильтр нижних частот, чтобы удовлетворить критерию Найквиста, а затем можно прореживать, например, для данных частоты дискретизации 44,1 кГц потребуется фильтр нижних частот с частотой отсечения 5,5 кГц, а затем можно выбросить 3 из каждых 4 выборок для коэффициента понижающей дискретизации 4:1. Вам понадобится другой фильтр для каждого коэффициента понижающей дискретизации, который вы хотите поддерживать.
-121--3632104-Две мысли:
Вы должны убедиться, что вы случайно не включаете время JIT в свои тесты - это может добавить значительное количество времени к результату. Необходимо выполнить два прогона в одном и том же выполнении и отменить первый прогон.
Вы должны убедиться, что вы не работаете под отладчиком - это может резко изменить результаты производительности.
Кроме того, любые различия в производительности, которые вы видите, вполне могут быть результатом различия в производительности между хэш-таблицей и деревом. Древовидная структура обычно имеет производительность O (n * log (n)) в среднем для поиска. Сбалансированное дерево может уменьшить это до O (lon (n)). Хэш-таблицы, между тем, могут приближаться к O (1) времени для поиска, когда предотвращаются хеш-коллизии.
Я бы также предположил, что класс .NET Dictionary очень оптимизирован, так как это структура данных «хлеб-масло» для такого количества различных вещей в .NET. Кроме того, общий словарь < > может избежать бокса, и поэтому вы можете видеть некоторые отличия производительности от этого.
Нет, если программа является закрытым исходным кодом и требуется установить связь с LGPL-версией Qt, необходимо использовать динамическую связь. Если вы хотите статически связать, то вы должны купить лицензию на Qt.
Для использования кода LGPL в проекте с закрытым исходным кодом пользователь должен иметь возможность заменить часть кода lgpl. Самый простой и на сегодняшний день самый распространенный способ сделать это, чтобы положить все LGPL код в dll, а затем пользователь может заменить DLL, если они выбирают.
Вы также можете использовать любые технические средства, которые ваш язык позволяет достичь той же цели. Вы можете распространять объектные файлы, а затем пользователь может перепривязать, как указал другой комментатор, но я никогда не видел, чтобы это делалось на практике.
Не имеет значения, является ли ваш продукт бесплатным или платным. Можно продавать продукты GPL/LGPL.
-121--2885047-Для частоты дискретизации > 11025 Гц необходимо выполнить понижающую выборку, что является двухэтапным процессом. Сначала требуется фильтр нижних частот, чтобы удовлетворить критерию Найквиста, а затем можно прореживать, например, для данных частоты дискретизации 44,1 кГц потребуется фильтр нижних частот с частотой отсечения 5,5 кГц, а затем можно выбросить 3 из каждых 4 выборок для коэффициента понижающей дискретизации 4:1. Вам понадобится другой фильтр для каждого коэффициента понижающей дискретизации, который вы хотите поддерживать.
-121--3632104- Выберите структуру данных и репозиторий в зависимости от данных. При этом нет идеальной структуры данных. Хотя словарь .NET Dictionary <, >
хорошо оптимизирован, поскольку часто это хороший выбор, он не является ответом на все проблемы - это было бы 42...
Если все, что вам нужно, это поиск, красно-черное дерево не будет вашей лучшей структурой данных. Он обеспечивает сортировку, которая всегда будет медленнее, чем поиск по хеш-таблице. Если вы хотите сравнить .net Dictionary с сопоставимой структурой данных C5, вы должны использовать C5.HashDictionary.