Ассоциативный, но в пределах погрешности. А если погрешность опережает значащую часть, то, конечно, извините! А если настаивать на том, что значащие разряды там все до последнего бита (например, для побитового сравнения) - то два раза извините.
Собственно, коммутативность и ассоциативность сложения используется в борьбе против ошибок, особенно - ошибок нормализации и денормализации. Потому что мы-то знаем, что от перестановки _искомая_ сумма не меняется.
Смотря что называть "погрешностью". E.g. abs (a0 + a1 + ... + an+x) - (x + a0 + a1 + ... + an) для x=2^24 и 0 < ai < 1 может быть 2^24-1, что явно больше погрешности представления любого слагаемого. Для практических применений он совершенно не ассоциативный.
Для практических применений (физматмоделирование, бухгалтерия) всегда считают погрешность вычислений.
Если у нас одно из слагаемых имеет порядок 1e24, это значит, что ошибка денормализации может достигать 1e0 для каждого сложения, итого может набежать n+2.
Тогда, как честные люди, мы напишем abs((a0+...+an+x)-(x+a0+...+an)) <= eps - что является типичной формулой приближённого сравнения вещественных чисел. Наши суммы приближённо равны, ЧТД (ИЧСХ). Ну да, eps тут здоровенный. Однако, abs(eps/x) <= FLT_EPSILON*(n+2), что не так уж и плохо, э?
У базы данных есть отличный предохранитель: пропускная способность канала данных. Если приложение ускорить сверх меры, оно будет не насиловать, а изнывать в ожидании.
--Если приложение ускорить сверх меры, оно будет не насиловать, а изнывать в ожидании.
Уже в другом компоненте: 1) На каждый запрос(SQL) создается новый коннект. Т.е. на 1 HTTP мы получаем 5+ коннектов 2) На каждый HTTP запрос в базу идет SQL на запрос здоровенных сертификатов. Если это кеширвоать то нагрузка на канал с базой падет в 18 раз.
Comments 13
Собственно, коммутативность и ассоциативность сложения используется в борьбе против ошибок, особенно - ошибок нормализации и денормализации.
Потому что мы-то знаем, что от перестановки _искомая_ сумма не меняется.
Reply
abs (a0 + a1 + ... + an+x) - (x + a0 + a1 + ... + an) для x=2^24 и 0 < ai < 1 может быть 2^24-1, что явно больше погрешности представления любого слагаемого. Для практических применений он совершенно не ассоциативный.
Reply
Если у нас одно из слагаемых имеет порядок 1e24, это значит, что ошибка денормализации может достигать 1e0 для каждого сложения, итого может набежать n+2.
Тогда, как честные люди, мы напишем abs((a0+...+an+x)-(x+a0+...+an)) <= eps - что является типичной формулой приближённого сравнения вещественных чисел. Наши суммы приближённо равны, ЧТД (ИЧСХ).
Ну да, eps тут здоровенный. Однако, abs(eps/x) <= FLT_EPSILON*(n+2), что не так уж и плохо, э?
Reply
Reply
Reply
Reply
Reply
Уже в другом компоненте:
1) На каждый запрос(SQL) создается новый коннект. Т.е. на 1 HTTP мы получаем 5+ коннектов
2) На каждый HTTP запрос в базу идет SQL на запрос здоровенных сертификатов. Если это кеширвоать то нагрузка на канал с базой падет в 18 раз.
Reply
Leave a comment