Re[2]: Хозяйке на заметку: compile-time CRC32
От: SkyDance Земля  
Дата: 28.11.13 22:33
Оценка:
L>А хардкодить хэш в виде константы нынче уже совсем не спортивно?

Ага, и каждый раз как буковка в запросе меняется, так ре-хешировать каждый раз. Нет, спасибо

06.12.13 18:15: Ветка выделена из темы Хозяйке на заметку: compile-time CRC32
Автор: SkyDance
Дата: 20.11.13
— Кодт
06.12.13 18:16: Перенесено модератором из 'C/C++' — Кодт
Re[3]: Хозяйке на заметку: compile-time CRC32
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 29.11.13 08:10
Оценка:
Здравствуйте, SkyDance, Вы писали:

SD>Ага, и каждый раз как буковка в запросе меняется, так ре-хешировать каждый раз. Нет, спасибо


В случае, если строк много и они часто меняются, я бы считал их в рантайме.
Re[4]: Хозяйке на заметку: compile-time CRC32
От: niXman Ниоткуда https://github.com/niXman
Дата: 29.11.13 10:19
Оценка:
Здравствуйте, Lazin, Вы писали:

L>В случае, если строк много и они часто меняются, я бы считал их в рантайме.

зачем?

а если используется mpl::map<> ?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[5]: Хозяйке на заметку: compile-time CRC32
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 29.11.13 11:05
Оценка: -3 :)
Здравствуйте, niXman, Вы писали:

X>а если используется mpl::map<> ?


А вы не используйте mpl, fission и им подобный булшит и н придется считать crc32 компилятором. Мне лично жалко тратить время на подобное
Re[6]: Хозяйке на заметку: compile-time CRC32
От: niXman Ниоткуда https://github.com/niXman
Дата: 29.11.13 12:37
Оценка:
Здравствуйте, Lazin, Вы писали:

L>А вы не используйте mpl, fission и им подобный булшит и н придется считать crc32 компилятором. Мне лично жалко тратить время на подобное

мдя, Женя, два года тебя на форумах не видел, а ты ничуть не изменился, и все так же троллишь используемые технологии... а вроде бы должен был повзрослеть =)
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[7]: Хозяйке на заметку: compile-time CRC32
От: niXman Ниоткуда https://github.com/niXman
Дата: 29.11.13 12:38
Оценка:
минус — не мой, если чо
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[7]: Хозяйке на заметку: compile-time CRC32
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 29.11.13 22:36
Оценка:
Здравствуйте, niXman, Вы писали:

X>мдя, Женя, два года тебя на форумах не видел, а ты ничуть не изменился, и все так же троллишь используемые технологии... а вроде бы должен был повзрослеть =)


Я и правда использую spirit и fusion в работе, точнее не столько использую, сколько поддерживаю код, написанный с их помощью. В проекте примерно 300K LOC и он при этом собирается минут эдак 40. Артефакты сборки получаются такие — 700Мб статических библиотек и пол гига исполняемых файлов Спасибо метопрограммированию на шаблонах за все хорошее
Причем я всерьез занимался оптимизацией сборки по размеру и по времени.

Использование обеих упомянутых библиотек в коде большого проекта сложно оправдать.
Re[8]: Хозяйке на заметку: compile-time CRC32
От: niXman Ниоткуда https://github.com/niXman
Дата: 29.11.13 22:52
Оценка:
Здравствуйте, Lazin, Вы писали:

L>Я и правда использую spirit и fusion в работе, точнее не столько использую, сколько поддерживаю код, написанный с их помощью.

ты более на плюсах не пишешь? только C#?

тем не менее, есть задачи, где использование проприетарного софта недопустимо по причинам безопасности. а mono и openjdk — костыли.

L>В проекте примерно 300K LOC и он при этом собирается минут эдак 40. Артефакты сборки получаются такие — 700Мб статических библиотек и пол гига исполняемых файлов

звучит страшно. но пока не приходилось получать такие объемные бинари, хотя в текущем проекте ~130К loc, а результирующий бинарь ~23 Мб.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[9]: Хозяйке на заметку: compile-time CRC32
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 30.11.13 08:52
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, Lazin, Вы писали:


L>>Я и правда использую spirit и fusion в работе, точнее не столько использую, сколько поддерживаю код, написанный с их помощью.

X>ты более на плюсах не пишешь? только C#?
Как это следует из моего комментария? Я на С# уже больше года ничего не писал. Я пишу на плюсах, каждый день, на работе + pet project. В нем, кстати, я вообще boost не использую, тем не менее, проект кроссплатформенный

X>звучит страшно. но пока не приходилось получать такие объемные бинари, хотя в текущем проекте ~130К loc, а результирующий бинарь ~23 Мб.

У нас там очень много boost.sprit грамматик. Они все живут в отдельных cpp файлах и не торчат в хэдерах, но тем не менее. Но spirit грамматики по крайней мере легко изменять, а вот в код, который юзает fusion и mpl очень сложно вносить изменения.
Re[10]: Хозяйке на заметку: compile-time CRC32
От: niXman Ниоткуда https://github.com/niXman
Дата: 30.11.13 09:51
Оценка:
Здравствуйте, Lazin, Вы писали:

L>В нем, кстати, я вообще boost не использую, тем не менее, проект кроссплатформенный


так а в чем смысл велосипедить? почему не юзать уже готовый код, т.е. boost, etc... ?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[11]: Хозяйке на заметку: compile-time CRC32
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 30.11.13 10:43
Оценка:
Здравствуйте, niXman, Вы писали:

X>так а в чем смысл велосипедить? почему не юзать уже готовый код, т.е. boost, etc... ?


А кто велосипедит? Я просто использую другие библиотеки, например apr, она сишная и умеет все что мне нужно
Re[12]: Хозяйке на заметку: compile-time CRC32
От: niXman Ниоткуда https://github.com/niXman
Дата: 30.11.13 11:27
Оценка:
Здравствуйте, Lazin, Вы писали:

L>А кто велосипедит? Я просто использую другие библиотеки, например apr, она сишная и умеет все что мне нужно

хардкор, однако...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[13]: Хозяйке на заметку: compile-time CRC32
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 30.11.13 20:45
Оценка: +1 :)
Здравствуйте, niXman, Вы писали:

L>>А кто велосипедит? Я просто использую другие библиотеки, например apr, она сишная и умеет все что мне нужно

X>хардкор, однако...

Это как раз не хардкор, хардкор, это считать, непонятно зачем, хэши от строк в процессе компиляции.
Использовать сишные либы — одно удовольствие. Очень просто понимать как работает код. Исключений там ни одна функция не кидает, нет неявных вызовов конструкторов/деструкторов/операторов преобразования типа, временных объектов тоже нет. Это очень продуктивно.
Re[14]: Хозяйке на заметку: compile-time CRC32
От: niXman Ниоткуда https://github.com/niXman
Дата: 30.11.13 21:19
Оценка: :)
Здравствуйте, Lazin, Вы писали:

L>Это как раз не хардкор, хардкор, это считать, непонятно зачем, хэши от строк в процессе компиляции.

L>Использовать сишные либы — одно удовольствие. Очень просто понимать как работает код. Исключений там ни одна функция не кидает, нет неявных вызовов конструкторов/деструкторов/операторов преобразования типа, временных объектов тоже нет. Это очень продуктивно.

думается мне, таким образом ты выражаешь протест, против чего-то... (против С++? так почему на Си не пишешь?)
в общем, мне это кажется крайне странным, чем-то вроде регресса.

к тому же, даже не могу представить, что можно написать не используя шаблонов %)
ну да ладно..
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[15]: Хозяйке на заметку: compile-time CRC32
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 30.11.13 23:13
Оценка: 1 (1) +3
Здравствуйте, niXman, Вы писали:

X>думается мне, таким образом ты выражаешь протест, против чего-то... (против С++? так почему на Си не пишешь?)

Какой еще протест? Я на форумах не сижу, код свой вам не показываю. На Си не пишу, так как пишу на С++, лол. Я использую классы, шаблоны, стандартную библиотеку С++ и все такое. Я не злоупотребляю возможностями языка, и не использую штуки, которые так делают. Более восьми лет использования С++ чему-то да научили.

X>в общем, мне это кажется крайне странным, чем-то вроде регресса.

Регресс, это когда у тебя есть задача — посчитать хэши для набора строк, известных во время компиляции, а ты, вместо того, чтобы написать простой, понятный и поддерживаемый код, пишешь compile time crc32, который а) нужно тестировать б) нужно поддерживать в) отличается от crc32 ф-ии, используемой в рантайме г) увеличивает время компиляции д) тянет за собой дополнительное метапрограммирование (список строк нужно хранить в чем-нибудь вроде boost::fusion::vector или хз где и обходить через какой-нибудь fusion.for_each, в общем, не то, что обычно используют в рантайме) е) нельзя дебажить. Вывод: данный подход не дает никаких преимуществ перед тупым вычислением хэшей при старте программы, одни недостатки, он контрпродуктивен и сеет в коде иррациональное зло

Ну если только автор хотел использовать эти хэши для ad-hoc генерации идентификаторов, но это тоже попахивает, ибо нет защиты от коллизий и их сложно будет детектить (дебажный код под ifdef не напишешь).
Re[16]: Хозяйке на заметку: compile-time CRC32
От: niXman Ниоткуда https://github.com/niXman
Дата: 30.11.13 23:45
Оценка:
Здравствуйте, Lazin, Вы писали:

абсурд какой-то %)
или со мной что-то не так...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[17]: Хозяйке на заметку: compile-time CRC32
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 01.12.13 08:13
Оценка:
Здравствуйте, niXman, Вы писали:

X>абсурд какой-то %)

X>или со мной что-то не так...

Отличный способ вести дискуссию. И не поспоришь, и главное, все сказано по делу
Re[18]: Хозяйке на заметку: compile-time CRC32
От: niXman Ниоткуда https://github.com/niXman
Дата: 01.12.13 13:52
Оценка:
Здравствуйте, Lazin, Вы писали:

L>Отличный способ вести дискуссию.

дело в том, что мне все еще не верится, что ты это всерьез. думаю, ты просто троллишь...

посмотрел я на apr, и не увидел там ничего, что могло бы меня заставить ее юзать...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[19]: Хозяйке на заметку: compile-time CRC32
От: Lazin Россия http://evgeny-lazin.blogspot.com
Дата: 01.12.13 16:54
Оценка:
Здравствуйте, niXman, Вы писали:

X>дело в том, что мне все еще не верится, что ты это всерьез. думаю, ты просто троллишь...

нед
X>посмотрел я на apr, и не увидел там ничего, что могло бы меня заставить ее юзать...
никто тебя не заставляет
Re[17]: Хозяйке на заметку: compile-time CRC32
От: wander  
Дата: 01.12.13 22:10
Оценка: 1 (1)
Здравствуйте, niXman, Вы писали:

X>абсурд какой-то %)


Ничего подобного. Такая точка зрения обычно является результатом длительной работы в команде в конторе на фуллтайм. Где всякие программерские изыски неприемлемы и даже вредны, потому что:
а) Не все программисты обладают одинаковой квалификацией, чтобы потом читать такой код.
б) Если человек только начал работать, ему будет гораздо сложнее входить в колею.
в) Довольно часто требуется просто решить задачу, а не решить задачу самым крутым способом доступным на текущем языке. То есть времени нет писать изыски. То, что они занимают больше времени — факт, даже судя по твоим постам на форуме (да и мой собственный опыт говорит о том же).
г) Отчитываться за такой код труднее, если начальство само не балуется таким же.

Это соответствует рабочей обстановке у многих работодателей. Это не троллинг и не абсурд — реальность как она есть.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.