Size: a a a

2020 July 30

M

MrSmith in pro.cxx.holywars
Статистику пользователей собирать буду
источник

M

MrSmith in pro.cxx.holywars
Чтоб знать так сказать че там
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Chris Calvin
sed -e "s/^([^,]*,)<n>/\1'1970-01-01 00:00:00.00+0000'/;s/^(([^,]*,){3})<n>/\1'1970-01-01 00:00:00.00+0000'/;s/<n>/0/g"
Это sed мерзость, а не регулярки
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Chris Calvin
Связанно с золотым сечением что-то
Ясно, очередные наркоманские метрики с потолкаковра
источник

CC

Chris Calvin in pro.cxx.holywars
/dev/urandon ¯\_(ツ)_/¯
Ясно, очередные наркоманские метрики с потолкаковра
Чет кто-то мерял
источник

CC

Chris Calvin in pro.cxx.holywars
/dev/urandon ¯\_(ツ)_/¯
Это sed мерзость, а не регулярки
Кстати на 11ГБ файле эта хуйня работала 17 минут, на той же тачке нормальный авк 7 минут)
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Chris Calvin
Чет кто-то мерял
Вот как меришь и что меришь, разные константы будут оптимальны
источник

CC

Chris Calvin in pro.cxx.holywars
Полагаю что моя регулярка не очень оптимальная
источник

CC

Chris Calvin in pro.cxx.holywars
/dev/urandon ¯\_(ツ)_/¯
Вот как меришь и что меришь, разные константы будут оптимальны
Надо искать кто это мерял и как...
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Chris Calvin
Надо искать кто это мерял и как...
Я говорю же, с потолка цифры
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Потому что самое быстрое, сразу reserve позвать
источник

CC

Chris Calvin in pro.cxx.holywars
>любое число, меньшее, чем 2 гарантирует, что на каком-то шаге увеличения ёмкости вектора мы сможем не выделять память в новом адресном пространстве, а переиспользовать уже ранее выделенную на этот вектор память.


Гарантирует только в том случае, если мы можем использовать память предыдущих (n-1) аллоакций на n-м шаге. Действительно, пусть мы хотим найти такой коэффициент роста, что
an ≤ an-1 + an-2 +… + a + 1
Заметим, что справа стоит сумма геометрической прогрессии
an ≤ (an — 1) / (a — 1)
(a — 1) an ≤ an — 1 // тут было использовано предположение a > 1
an+1 — 2 an ≤ -1
an (a — 2) ≤ -1
Видно, что начиная с 2 левая часть неотрицательна и условие никогда не выполняется.

Однако, это сопряжено с некоторыми трудностями, ибо для этого придётся как-то переиспользовать то место, где у нас сейчас находится вектор, а нам ведь ещё скопировать элементы надо (Хотя теоретически это всё же возможно).

Если же чуть ослабить условия и потребовать наличие достаточно количества памяти с предыдущих n-2 аллокаций, то мы получим
an ≤ an-2 +… + a + 1
(a-1) an ≤ an-1 — 1
an+1 — an — an-1 ≤ — 1
a2 — a — 1 ≤ — 1 / a(n-1) < 0

Если в последнем неравенстве заметить, что правая часть стремится к нулю, или каким-либо другим способом убедить себя в том, что её можно выкинуть, то мы получим неравенство для многочлена второй степени, чей единственный корень, лежащий в интервале (1, 2), в точности равен золотому сечению. Разумеется, так как у нас неравенство, то сгодится любое число, большее 1 и меньшее φ. Например, 1.5 попадает в этот интервал.
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Chris Calvin
>любое число, меньшее, чем 2 гарантирует, что на каком-то шаге увеличения ёмкости вектора мы сможем не выделять память в новом адресном пространстве, а переиспользовать уже ранее выделенную на этот вектор память.


Гарантирует только в том случае, если мы можем использовать память предыдущих (n-1) аллоакций на n-м шаге. Действительно, пусть мы хотим найти такой коэффициент роста, что
an ≤ an-1 + an-2 +… + a + 1
Заметим, что справа стоит сумма геометрической прогрессии
an ≤ (an — 1) / (a — 1)
(a — 1) an ≤ an — 1 // тут было использовано предположение a > 1
an+1 — 2 an ≤ -1
an (a — 2) ≤ -1
Видно, что начиная с 2 левая часть неотрицательна и условие никогда не выполняется.

Однако, это сопряжено с некоторыми трудностями, ибо для этого придётся как-то переиспользовать то место, где у нас сейчас находится вектор, а нам ведь ещё скопировать элементы надо (Хотя теоретически это всё же возможно).

Если же чуть ослабить условия и потребовать наличие достаточно количества памяти с предыдущих n-2 аллокаций, то мы получим
an ≤ an-2 +… + a + 1
(a-1) an ≤ an-1 — 1
an+1 — an — an-1 ≤ — 1
a2 — a — 1 ≤ — 1 / a(n-1) < 0

Если в последнем неравенстве заметить, что правая часть стремится к нулю, или каким-либо другим способом убедить себя в том, что её можно выкинуть, то мы получим неравенство для многочлена второй степени, чей единственный корень, лежащий в интервале (1, 2), в точности равен золотому сечению. Разумеется, так как у нас неравенство, то сгодится любое число, большее 1 и меньшее φ. Например, 1.5 попадает в этот интервал.
Любые априорные оценки — часть некой бизнес логики. Потому это всё с потолка
источник

CC

Chris Calvin in pro.cxx.holywars
/dev/urandon ¯\_(ツ)_/¯
Любые априорные оценки — часть некой бизнес логики. Потому это всё с потолка
часть некой бизнес-логики?
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Chris Calvin
часть некой бизнес-логики?
Да
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Некой
источник

CC

Chris Calvin in pro.cxx.holywars
Тебе в менеджмент надо. Вроде бы и написал сообщение, но по существу ничего
источник

/dev/urandon ¯\_(ツ)_... in pro.cxx.holywars
Chris Calvin
Тебе в менеджмент надо. Вроде бы и написал сообщение, но по существу ничего
Если писать по существу, то в его рассуждения такой большой косяк к требованиям contiguous storage к вектору.

И да, предположения о росте количества элементов вектора — это часть бизнес логики
источник

CC

Chris Calvin in pro.cxx.holywars
Теперь понял
источник

AZ

Alexander Zaitsev in pro.cxx.holywars
В ГОЛОСИНУ
источник