Linus Torvalds и memcpy() (Страница 1) / Программирование / Форум StopLinux

Объявление

Kwork.ru - услуги фрилансеров от 500 руб.

#1 06-12-11 22:17:16

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 15.0.874.121

Linus Torvalds и memcpy()

usr_share пишет:

memcpy() и Adobe Flash

Тут я полностью разделяю позицию Линуса Торвальдца, что нельзя писать такие криворукие изменения в мейнстрим библиотеках общего пользования, как сделали в memcpy. Хоть ты трижды никому ничего не должен и работаешь на халяву, никто тебе не платит, а все, суки, только пользуются - всё равно надо думать о пользователях в таких ситуациях, хотя бы где это no efford needed.

А пока вы, уважаемые линоксоиды, думаете, что раз во Flash есть ошибка из-за изменения memcpy - это проблема только флеша (все проприетарщики - криворукие, а вы - гениальны). На самом деле вы, уважаемые линоксоиды, и сосете хyй.


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#2 07-12-11 08:41:01

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 7.0.1

Re: Linus Torvalds и memcpy()

Tiphon пишет:

Тут я полностью разделяю позицию Линуса Торвальдца, что нельзя писать такие криворукие вещи в мейнстрим библиотеках общего пользования, как сделали в memcpy. Хоть ты трижды никому ничего не должен и работаешь на халяву, никто тебе не платит, а все, суки, только пользуются - всё равно надо думать о пользователях в таких ситуациях, хотя бы где это no efford needed.

Это называется "оптимизация". Если программист заранее знает про то, что блоки не пересекаются -- он юзает memcpy и экономит ресурсы CPU. А если не знает -- то юзает memmove. А полагаться на недокументированное поведение glibc -- это всё равно, что переходить улицу, не смотря на автомобили и надеясь, что водители либо по этой улице не проедут, либо затормозят.

Добавлено спустя 01 мин 16 с:

Tiphon пишет:

всё равно надо думать о пользователях в таких ситуациях

Разработчики и пользователи -- две разные группы. И "писать адекватный код" -- не жутко большая просьба, чтобы просить о ней разработчиков.

Редактировался usr_share (07-12-11 08:41:16)

Неактивен

#3 07-12-11 09:11:53

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 15.0.874.121

Re: Linus Torvalds и memcpy()

usr_share пишет:

А полагаться на недокументированное поведение glibc -- это всё равно, что переходить улицу, не смотря на автомобили и надеясь, что водители либо по этой улице не проедут, либо затормозят.

usr_share пишет:

Разработчики и пользователи -- две разные группы. И "писать адекватный код" -- не жутко большая просьба, чтобы просить о ней разработчиков.

Вот я и говорю, и могу по слогам повторить. За такое отношение хyй и со-се-те)))


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#4 07-12-11 11:58:14

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 7.0.1

Re: Linus Torvalds и memcpy()

Tiphon пишет:

Вот я и говорю, и могу по слогам повторить. За такое отношение хyй и со-се-те)))

То есть нужно писать новые костыли, понижая производительность всего использующего memcpy() кода, только ради одной программы, авторы которой сами наплевали на правила использования memcpy()?

Неактивен

#5 07-12-11 12:00:24

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 15.0.874.121

Re: Linus Torvalds и memcpy()

usr_share пишет:

То есть нужно писать новые костыли, понижая производительность всего использующего memcpy() кода, только ради одной программы, авторы которой сами наплевали на правила использования memcpy()?

Вникни в историю вопроса и больше не пиши бред.


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#6 07-12-11 12:21:38

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 15.0.874.121

Re: Linus Torvalds и memcpy()

MOP3E пишет:

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

Клиент всегда не прав (с) ОС Линукс


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#7 07-12-11 16:17:09

straus
Участник
Зарегистрирован: 01-06-11
Сообщений: 967
UbuntuFirefox 8.0

Re: Linus Torvalds и memcpy()

MOP3E пишет:

А кто даст гарантию, что на конкретном компьютере пользователя будет стоять именно необновлённый компилятор?

Вопрос: откуда "на конкретном компьютере пользователя" взялся обновлённый компилятор, неужели разработчики glibc установили? Ещё раз, не уверен - не обновляй!

MOP3E пишет:

Нэт у них клЫент. Сависэм нэт! Они же свой glibc разрабатывают исключительно ради лулзов, чисто на поржать над недалёкими программистами неосторожно решившими попользоваться этим компилятором.

Вы упустили важную деталь этого, действительно недалёкого программиста, он игнорирует требования к использованию функций из библиотеки разработанной "исключительно ради лулзов, чисто на поржать". У тех кто так не делает похоже всё в порядке. (Или кто на этом форуме больше всего орёт про стандарты и документацию? Вы, батенька, уж определитесь играть по правилам это хорошо или плохо.)

MOP3E пишет:

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

MOP3E пишет:

З.Ы. Луноходы - тупые!

P.S. МОРЗЫ - тупые!


В детстве я молил бога о велосипеде;
потом понял что бог работает по-другому...
я украл велосипед и стал молить бога о прощении.
Аль Пачино

Неактивен

#8 07-12-11 17:53:34

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 7.0.1

Re: Linus Torvalds и memcpy()

MOP3E пишет:

Да, действительно. У тех, кто не использует glibc, всё в порядке. Используйте программы Майкрософт - полностью совместимые!

Оптимизация кода не нужна, главное -- поддерживать функциональность для каждой криворукости сторонних программистов.

Неактивен

#9 07-12-11 19:53:14

дохтур
Боевой дятел
Из Краматорск, ул. Железячкина
Зарегистрирован: 30-11-09
Сообщений: 994
Windows XPOpera 11.60

Re: Linus Torvalds и memcpy()

usr_share пишет:

Оптимизация кода не нужна, главное -- поддерживать функциональность для каждой криворукости сторонних программистов.

Совместимость это очевидное конкурентное преимущество. Линуксоидам, конечно, плевать, т.к. они не конкуренции ради, а во имя свободы стараются smile


Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015

Неактивен

#10 07-12-11 21:14:12

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 15.0.874.121

Re: Linus Torvalds и memcpy()

usr_share пишет:

Оптимизация кода не нужна

При чем тут оптимизация кода, скажи мне? Ты вообще вопрос читал по которому споришь? Или опять - линукс экспертность включил?


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#11 07-12-11 22:53:27

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 7.0.1

Re: Linus Torvalds и memcpy()

https://bugzilla.redhat.com/show_bug.cgi?id=638477#c99

Да, я читал вопрос. Патч, отправленный авторам glibc, предназначенный для использования функцией memcpy() копирования "в обратную сторону" на процессорах, это умеющих -- и есть оптимизация, разве не так?

Неактивен

#12 07-12-11 23:50:06

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Safari 534.12

Re: Linus Torvalds и memcpy()

usr_share пишет:

Да, я читал вопрос. Патч, отправленный авторам glibc, предназначенный для использования функцией memcpy() копирования "в обратную сторону" на процессорах, это умеющих -- и есть оптимизация, разве не так?

Если ты считаешь, что ты не пластмассовый липовый специалист, расскажи что Линукс Торвальдс предлагал сделать и как аргументировал?


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#13 08-12-11 01:20:48

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 15.0.874.121

Re: Linus Torvalds и memcpy()

MOP3E пишет:

Какие процессоры это умеют?

Погоди, это пока даже не важно. Важно что он ответит на это:

MOP3E пишет:

расскажи что Линукс Торвальдс предлагал сделать и как аргументировал?


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#14 08-12-11 08:28:39

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 7.0.1

Re: Linus Torvalds и memcpy()

Tiphon пишет:

расскажи что Линукс Торвальдс предлагал сделать и как аргументировал?

А он предлагал взять и совместить функции memcpy() и memmove(), аргументируя это тем, что за счёт усложнения кода memcpy() увеличение производительности будет слишком незначительным, в то время как копирование в "прямую сторону" -- это уже историческое поведение memcpy().(?)

Неактивен

#15 08-12-11 08:57:11

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 15.0.874.121

Re: Linus Torvalds и memcpy()

usr_share пишет:

за счёт усложнения кода memcpy() увеличение производительности будет слишком незначительным, в то время как копирование в "прямую сторону" -- это уже историческое поведение memcpy()

Нет-нет. Если внимательно, а не линукс-зрением, прочитать пост 132. Линус предлагает, ставить проверку на оверлапинг - это 1 - 2 цикла. В то время, как оптимизированная версия... дальше, позвольте, я приведу цитату

Because the whole bug was introduced by the change (did you take a look at
glibc sources? I did) that made memcpy() _much_ more complicated, and now it
does computed indirect jumps based on size etc. So the new-and-improved one is
the one that takes a lot more cycles, exactly because it tries to handle the
special cases. But then it doesn't handle the _simple_ special case of "is it
overlapping?".

Потому что весь баг был из-за МНОГО более сложных изменений (вы же посмотрели исходники glibc? Я - да) в memcpy()  (прим. МНОГО более сложных - чем изменения, которые он рекомендует внести, см. выше). И функция теперь вычисляет indirect jumps исходя из размера и т.д. Новая-и-исправленная функция -  требует на много больше циклов, именно потому что она пробует рассматривать специальные случаи своего применения. Но тогда почему оно не может рассмотреть еще один ПРОСТОЙ случай своего применения "is it overlapping?" (с) Линус
Довод простой, как 2+2

Кстати, дальше (почитайте-почитайте) он еще раз очень понятно, как 2+2 расслкадывает, почему "нахуй оптимизация?"- аргумент тут абсолютно ни при чем!

Поэтому наш незабвенный user_share в очередной раз показал уровень своего линукс ДАО.

А теперь, дамы и господа, я приведу цитату Линуса про которую я и начал этот спор.

Quite frankly, I find your attitude to be annoying and downright stupid.

How hard can it be to understand the following simple sentence:

   THE USER DOESN'T CARE.

Pushing the blame around doesn't help anybody. The only thing that helps is
Fedora being helpful, not being obstinate.

Also, the fact is, that from a Q&A standpoint, a memcpy() that "just does the
right thing" is simply _better_. Quoting standards is just stupid, when there's
two simple choices: "it works" or "it doesn't work because bugs happen".

When glibc changed memcpy, it created problems. Saying
"not my problem" is irresponsible when it hurts users.

And pointing fingers at Adobe and blaming them for creating bad software is
_doubly_ irresponsible if you are then not willing to set a higher standard for
your own project.  And "not my problem" is not a higher standard.

So please just fix it.

The easy and technically nice solution is to just say "we'll alias memcpy to
memmove - good software should never notice, and it helps bad software and a
known problem".

С ЭТИМ ПОДХОДОМ Я АБСОЛЮТНО СОГЛАСЕН.

P.S. Пока апплодируем user_share, который очередной порадовал нас своим невежеством.


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#16 28-03-12 17:37:28

дохтур
Боевой дятел
Из Краматорск, ул. Железячкина
Зарегистрирован: 30-11-09
Сообщений: 994
Windows XPOpera 11.62

Re: Linus Torvalds и memcpy()

Очередное доказательство маразма опенсорс-разработчиков и в то же время достаточной вменяемости ЛТ: кто-то что-то наоптимизировал в sysfs, что привело к проблемам, и на попытку исправить отвечал в стиле:

Fix _what_?  Userland shite quoted upthread?

На что ЛТ ответил (процитирую почти полностью, т.к. доставляет):

This is *not* about some arbitrary "30-year backwards compatibility".

This is about your patch BREAKING EXISTING BINARIES.

So stop the f*&^ing around already. The patch was shown to be broken,
stop making excuses, and stop blathering.

End of story. Binary compatibility is more important than *any* of
your patches. If you continue to argue anything else or making
excuses, I'm going to ask people to just ignore your patches entirely.

Seriously. Binary compatibility is *so* important that I do not want
to have anything to do with kernel developers who don't understand
that importance. If you continue to pooh-pooh the issue, you only show
yourself to be unreliable.  Don't do it.

Dammit, I'm continually surprised by the *idiots* out there that don't
understand that binary compatibility is one of the absolute top
priorities
. The *only* reason for an OS kernel existing in the first
place is to serve user-space. The kernel has no relevance on its own.
Breaking existing binaries - and then not acknowledging how horribly
bad that was - is just about the *worst* offense any kernel developer
can do.

Because that shows that they don't understand what the whole *point*
of the kernel was after all. We're not masturbating around with some
research project.  We never were. Even when Linux was young, the whole
and only point was to make a *usable* system. It's why it's not some
crazy drug-induced microkernel or other random crazy thing.

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


Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015

Неактивен

Kwork.ru - услуги фрилансеров от 500 руб.
Мой VPS с 2016 года !
✅ Виртуальные от 300 ₽/месяц, RAM 1-10GB, DISK 20-360 GB;
✅ Выделенные от 3000 ₽/месяц. RAM 4-64GB, DISK до 4TB;
✅ Intel Xeon, SSD, XEN, iLO/KVM, Windows/Linux, Администрирование;
✅ Бесплатно Full Backup и Anti-DDoS.





Подвал форума

Под управлением FluxBB
Модифицировал Visman

Яндекс.Метрика