Я записал стандарт кода для нашего магазина, который смещается в экстремальном значении к удобочитаемости / "discoverability" (последнее существо, прежде всего, полезное в операторах вставлять-выбора):
SELECT
column1,
column2
FROM
table1
WHERE
column3 IN
(
SELECT TOP(1)
column4
FROM
table2
INNER JOIN table3 ON table2.column1 = table3.column1
)
На более сложных запросах становится более очевидно, как это полезно:
SELECT
Column1,
Column2,
Function1
(
Column1,
Column2
) as Function1,
CASE
WHEN Column1 = 1 THEN
a
ELSE
B
END as Case1
FROM
Table1 t1
INNER JOIN Table2 t2 ON t1.column12 = t2.column21
WHERE
(
FilterClause1
AND FilterClause2
)
OR
(
FilterClause3
AND FilterClause4
)
, Как только Вы перемещаетесь в системы с больше, чем единственное соединение в большинстве Ваших запросов, это был мой опыт, что использующий вертикальное пространство подробно Ваш лучший друг со сложным SQL.
Приложения, которые я видел, выполняют какую-то функцию распознавания музыки / голоса. подключение к Интернету, поэтому весьма вероятно, что это просто какой-то расчет функций на аудио и отправка этих функций через http для распознавания на сервере.
В любом случае, частотные графики и фильтрация были выполнены ранее на меньшие процессоры дюжину лет назад. С iPhone проблем быть не должно.
Вы не можете просто перенести код БПФ, написанный на C, в свое приложение ... есть опция компилятора большого пальца, которая усложняет арифметику с плавающей запятой. Вам нужно поставить его в режим охраны
"Достаточно быстро" может зависеть от ваших (или вашего клиента) ожиданий от того, какое разрешение частоты вы ищете, и от вашей базовой частоты дискретизации.
N-точечное БПФ порядка N * log2 (N) вычислений, поэтому, если у вас недостаточно MIPS, уменьшение N - это потенциальная область уступок для вас.
Во многих приложениях частота дискретизации не подлежит обсуждению, но если бы это было так, это была бы другая возможность.
Я сделал приложение, которое вычисляет БПФ в реальном времени
http://www.itunes.com/apps/oscope
Вы можете найти мой код для БПФ на GitHub (хотя он немного грубоват)
http://github.com/alexbw/iPhoneFFT
Новый SDK Apple для iPhone OS 4.0 позволяет встроенный расчет БПФ с помощью библиотеки "Accelerate", поэтому я бы определенно начал работать с новой ОС, если это центральная часть функциональности вашего приложения.