LINUX.ORG.RU

История изменений

Исправление www_linux_org_ru, (текущая версия) :

у меня сложилось впечатление, что это вещь сугубо теоретическая и для многокилобайтовых чисел хотя бы уже не будет работать с разумной производительностью

проблема, похоже, не в разрядности, а в том, что в коде

int a = ... ;
bool b = ... ;
int c = b ? f(a) : g(a);

будут вычислены ОБЕ функции f и g, так как «с» на самом деле вычисляется таким образом:

int c = b * f(a) + (1-b) * g(a);

что после этого происходит со скоростью  — она становится экспоненциальным тормозом, и возникают проблемы с полноценными циклами; нормально вычислять можно только dsp-like code

более интересен вопрос «что делать» — в порядке фантазии я бы предложил искать более гомоморфное (не 2, как щас, а 3) шифрование, либо расходовать по биту из некого пула избыточности на некоторые (важные) if

p.s. пейперы не читал, если что не так, то читавшие (скажем Woofywoof) могут меня поправить

Исправление www_linux_org_ru, :

у меня сложилось впечатление, что это вещь сугубо теоретическая и для многокилобайтовых чисел хотя бы уже не будет работать с разумной производительностью

проблема, похоже, не в разрядности, а в том, что в коде

int a = ... ;
bool b = ... ;
int c = b ? f(a) : g(a);

будут вычислены ОБЕ функции f и g, так как «с» на самом деле вычисляется таким образом:

int c = b * f(a) + (1-b) * g(a);

что после этого происходит со скоростью  — она становится экспоненциальным тормозом, и возникают проблемы с полноценными циклами; нормально вычислять можно только dsp-like code

более интересен вопрос «что делать» — в порядке фантазии я бы предложил искать более гомоморфное (не 2, как щас, а 3) шифрование, либо расходовать по биту на некоторые (важные) if из некого пула избыточности

p.s. пейперы не читал, если что не так, то читавшие (скажем Woofywoof) могут меня поправить

Исходная версия www_linux_org_ru, :

у меня сложилось впечатление, что это вещь сугубо теоретическая и для многокилобайтовых чисел хотя бы уже не будет работать с разумной производительностью

проблема, похоже, не в разрядности, а в том, что в коде

int a = ... ;
bool b = ... ;
int c = b ? f(a) : g(a);

будут вычислены ОБЕ функции f и g, так как «с» на самом деле вычисляется таким образом:

int c = b * f(a) + (1-b) * g(a);

что после этого происходит со скоростью  — она становится экспоненциальным тормозом, и возникают проблемы с полноценными циклами; нормально вычислять можно только dsp-like code

более интересен вопрос «что делать» — в порядке фантазии я бы предложил искать более гомоморфное (не 2, как щас, а 3) шифрование, либо расходовать по биту на каждый if из некого пула избыточности

p.s. пейперы не читал, если что не так, то читавшие (скажем Woofywoof) могут меня поправить