|
2.8, Kroz (??), 13:14, 22/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
А где найти сравнение и руководство выбора между glibc и elibc и еще ulibc? В чем между ними разница? Для каких задач лучше одно, для каких - второе, для каких - третье?
| |
|
|
2.13, Аноним (-), 13:27, 22/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
Видимо абзац добавили с учетом того, что прошлые обсуждения новых Glibc перерастали в ликбез, что eglibc это не форк :-)
| |
|
1.16, тоже Аноним (ok), 13:54, 22/03/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
> С задействованием инструкций SSE2 и SSSE3 оптимизированы функции strcpy, strncpy, stpcpy и stpncpy
Простите за глупый вопрос, но это что, реально ТОЛЬКО СЕЙЧАС было сделано? И что, до сих пор любые, сколь угодно современные процессоры, под Линукс перегоняют строки по байтику?
| |
|
|
3.21, тоже Аноним (ok), 14:36, 22/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
Это понятно.
Но SSE2 появилось в Pentium4, который уже успел устареть!
А реализация базовых функций, используемых тысячи раз в секунду, до сих пор об этом не знает?
| |
|
4.22, ананим (?), 14:51, 22/03/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
вы прям как с луны свалились, чесслово.
ну посмотрите какие версии рантайма си в вашей винде стоят и успокойтесь.
а потом представьте на минутку - делали ли пересмотр всех >50'000 функций винапи на тему "чтобы там такое улучшить под новые процы и ничего не поломать в совместимости" при условии, что я постоянно сталкиваюсь с багами в винапи, которые за 15 лет так и не починили (а может уже и не нужно, а то старые проги что их обходили через сами_знаете_что вообще перестанут работать)
| |
|
5.23, тоже Аноним (ok), 14:58, 22/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
На винду мне, честно говоря, наплевать. Там оптимизации бесполезны.
Но, поставив дома дистрибутив Линукс, скомпилированный под AMD64, я предполагал, что библиотеки этого дистрибутива знают о возможностях этой платформы...
Да ладно, библиотеки - glibc же! Через нее же, насколько я понимаю, любое копирование строки в любой программе пойдет. Очевиднейшее узкое место.
| |
|
6.25, BratSinot (?), 15:28, 22/03/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Во первых, читайте новости. Говорили о конкретных функциях, многие другие (например, толи memcpy, толи strcpy) уже давно на SSE 4.2 сидят.
А во вторых, amd64 включает в себя только до SSE2.
| |
|
7.29, Андрей (??), 15:37, 22/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
> memcpy, толи strcpy) уже давно на SSE 4.2 сидят.
А, это когда Линус завозмущался.
> А во вторых, amd64 включает в себя только до SSE2.
Бывают разные amd64: Athlon 64 3000+ - да. Phenom II X4 850 уже с SSE3, SSE4a. Ну а бульздозер, наконец-то с SSE4.1, 4.2
| |
|
8.31, ананим (?), 15:42, 22/03/2012 [^] [^^] [^^^] [ответить] | +1 +/– | бывают но дело то не в этом чуть ниже написал - важно ещё и кем, когда, какой ... текст свёрнут, показать | |
|
|
|
7.30, ананим (?), 15:38, 22/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
именно.
даже при -march=native -О2.
но одно дело когда оптимизатор компилятора постарался и другое, когда сама функция так написана байдезигн.
вот рантайм от какого-нибудь vc6 или vb6 не изменится ни при каких обстоятельствах.
даже если его очередная винда будет запускать в режиме совместимости/виртуализации/следующий_костыль. :D
| |
|
|
|
6.28, ананим (?), 15:33, 22/03/2012 [^] [^^] [^^^] [ответить] | +1 +/– | ха ванюша в своём репертуаре D навскидку - читать писать из ком-порта и усб-... большой текст свёрнут, показать | |
|
7.36, Ваня (??), 16:48, 22/03/2012 [^] [^^] [^^^] [ответить]
| –4 +/– |
Вы указали особенности реализации, а "баг" - это ошибка, когда функция делает не то, что от неё ожидается.
> читаешь мсдн - должно работать. прямым текстом написано - буфер для компорта такойто, для сокета - вообще не ограничен.
но не работает!
Ссылку на MSDN дайте, пожалуйста.
| |
7.38, Школьник (ok), 16:58, 22/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
>навскидку - читать/писать из ком-порта (и усб-девайса, представляющегося ком-портом - а таких очь много) можно только по-байтово. в линухе и соляре работает с буфером бОльшего размера, в винде - нет.
Бред сивой кобылы. WinAPI - окаменелое сборище костылей с кучей недостатков, но конкретно вот это - чтение/запись в COM-порт в количестве более одного байта на один вызов ReadFile/WriteFile - там работает. Проверял на всех версиях венды, начиная с 2000 и заканчивая семеркой SP1.
| |
|
8.55, ананим (?), 19:12, 22/03/2012 [^] [^^] [^^^] [ответить] | +2 +/– | Не работает Точка Проверено на куче весов от магазинных, до 50 тонных Ещё ра... текст свёрнут, показать | |
|
|
|
7.37, Ваня (??), 16:54, 22/03/2012 [^] [^^] [^^^] [ответить] | –4 +/– | То что вы и другие называете багами в большинстве своём описано под описанием ... большой текст свёрнут, показать | |
|
8.39, XPEH (?), 17:01, 22/03/2012 [^] [^^] [^^^] [ответить] | +6 +/– | Ну для вас это может быть и решение проблем Как говорится кому и кобыла невеста... текст свёрнут, показать | |
|
9.44, Ваня (??), 17:25, 22/03/2012 [^] [^^] [^^^] [ответить] | –5 +/– | А для вас лучше, как это принято в СПО, изменить API Ну-ну Половина ПО нахре... текст свёрнут, показать | |
|
10.46, XPEH (?), 17:47, 22/03/2012 [^] [^^] [^^^] [ответить] | +2 +/– | Да, да Расскажите нам еще этих сказок про то как в винде старое ПО никогда не о... текст свёрнут, показать | |
|
|
12.53, Аноним (-), 19:06, 22/03/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Иди гугли по словам список несовместимых программ windows7 А если будешь расска... текст свёрнут, показать | |
12.58, Ytch (?), 23:32, 22/03/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Зато не работает кое-что, что писалось в 2005 и прекрасно работало в XP, прикинь... текст свёрнут, показать | |
|
|
|
11.60, Ваня (??), 00:39, 23/03/2012 [^] [^^] [^^^] [ответить] | –2 +/– | У меня wasm 12-летней давности запускается до сих пор, а у вас запустится GCC 12... текст свёрнут, показать | |
|
|
|
8.59, Ytch (?), 23:41, 22/03/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Подобные вещи, это не просто баги - это баги, которые они же сами признают, нахо... текст свёрнут, показать | |
|
|
6.42, тоже Аноним (ok), 17:20, 22/03/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну, например, мне часто приходится в программах полностью формировать вывод на печать.
Так что я не первый год помню, что размер шрифта в выводе не должен равняться 70 пунктам (не кегль шрифта, а именно результирующий размер на печати). Иначе надпись превратится в тыкву.
Это, наверное, не баг, а пасхальное яйцо?
| |
|
7.43, Ваня (??), 17:24, 22/03/2012 [^] [^^] [^^^] [ответить]
| –4 +/– |
Хмм.. Пример кода прислать готовы? Или выложить сюда. Не встречал ограничений, тем более связанных с "магическими" цифрами.
| |
|
6.64, Аноним (-), 02:40, 23/03/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Пример "бага" WinAPI приведёте?
Да фигня вопрос. Если уж тут народ с COM-портами вылез, извольте, я добавлю:
Мы -> API: "дайте нам 921600, нам впадлу телепать на 115200!"
API -> мы: "окей, ваши параметры установлены успешно!"
По факту: драйвер столько не умеет. Но мы никогда об этом не узнаем. Нам соврут что все зашибись.
Итого: нет никакой реальной возможности понять, поддерживается ли некий baud драйвером и уж тем более нет никакой возможности проверить успешно ли этот baud установился. Нам всегда врут что все замечательно.
ЗЫ а в пингвине эквивалентные сисколы на раз возвращают ошибку если бауд не поддерживается драйвером. Забавно, да? Вообще, программить микроконтроллеры под линуксом явно удобнее. Там еще и usb работает намного менее криво ;)
| |
|
|
|
|
2.27, Андрей (??), 15:31, 22/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
Я тоже в шоке. Это ж надо преждевременной оптимизацией в каждой(!) своей программке немного заниматься, думать, где бы копирование сэкономить. А надо было просто один(!) раз пойти в glibc и один раз и навсегда оптимизировать там. И программить дальше себе тихо и спокойною.
| |
|
3.32, ананим (?), 15:47, 22/03/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
>А надо было просто один(!) раз пойти в glibc и один раз и навсегда оптимизировать там.
как старый пердун, преподававший асм, скажу - сейчас порой ГОРАЗДО надёжней положиться на оптимизацию компилятора, чем пытаться оптимизировать самому.
сколько раз уже сталкивался - вот соптемизировал, а работать стало медленнее. смотришь, а оно теперь в кэшЪ номер N не влазит и все конвейеры пошли лесом.
| |
|
4.65, Аноним (-), 02:43, 23/03/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
> сколько раз уже сталкивался - вот соптемизировал,
Ну если оптЕмизируешь так же пишешь - тогда все понятно... :)
| |
|
5.66, ананим (?), 06:22, 23/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
да кого интересуют мнение гумманитариев...
зыж
>тогда все понятно... :)
понятно так же, как:
а) запятые расставлять,
б) "тыкать" не знакомым,
в) путать орфографию с программированием
? :D
| |
|
6.69, Ваня (??), 13:19, 23/03/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
Вообще то он прав. Оптимизация до конвейера делать бессмыслено, кэш лишь увеличивается, так что используя напр. "align 64" можно быть уверенным что медленнее не будет (это если знать что такое "align 64" и уметь его применять к месту).
Весь проект на ассемблере писать нет смысла, хотя мой опыт показывает что при наличии проекта на С++ + Win32 его можно за очень небольшое время перегнать на ассемблер, получив сокращение кода в 3-4 раза и ускорение на 5-15% безо всяких оптимизаций.
Ассемблерная оптимизация в коде на ЯВУ может дать прибавку в 20-500% производительности, но требует значительных затрат времени на отладку и приличное знание как ассемблера, так и методик оптимизации. Напр. код рисования линии по Брезенхейму без использования WinAPI (отрисовка виртуального окна производилась в другой функции), прогнанная чёрти сколько раз, на С++ выполнялась 200 мс, на оптимизированном асме 25, встроенная LineTo (она, правда, использует ускоритель видеокарты) лишь 3.
| |
|
7.73, тоже Аноним (ok), 14:25, 23/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
Тест в стиле форониксов? Зачетно.
Но перегон всего проекта на асм ради 5-15% ускорения - это ОЧЕНЬ по-студенчески. Как и замечание про "сокращение кода в 3-4 раза". Ассемблерного. По сравнению с "плюсами". Что не с размером объектного файла сравниваем?
| |
|
8.74, Ваня (??), 14:29, 23/03/2012 [^] [^^] [^^^] [ответить] | +/– | Цель была оценить, а заодно проверить теорию что разработка на функциональном ЯВ... текст свёрнут, показать | |
|
|
6.84, Michael Shigorin (ok), 13:16, 26/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
> путать орфографию с программированием
Дядьку, ну я бы тоже с опаской слушал асм у преподавателя, который делает грубые ошибки в русском. Он может быть неплохим специалистом в том, что рассказывает -- но если позволяет себе спустя рукава относиться к родному языку, то откуда знать, что он и к студентам (или предмету) так же не отнесётся?
Это не теория -- когда брался за *nix, одними из наиболее интересных и авторитетных людей на почитать или послушать были Виктор Вагнер, Валентин Нечаев, "Андрей Зубинский". Все они писали по крайней мере тогда весьма грамотно и тщательно, и у всех можно было почерпнуть больше, чем строго по обсуждаемой теме. Надо и нам тянуться, даже отпреподавав :)
PS: спасибо, интересно. А с винды что взять -- там хорошо хоть работу с файликами досдевайсного вида заткнули, весело было прислать LPT1:. :)
| |
|
7.86, ананим (?), 23:57, 26/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
>Дядьку, ну я бы тоже с опаской слушал асм у преподавателя, который делает грубые ошибки в русском. Он может быть неплохим специалистом в том, что рассказывает -- но если позволяет себе спустя рукава относиться к родному языку, то откуда знать, что он и к студентам (или предмету) так же не отнесётся?
вам с таким подходом только президентов избирать - кто красивее и правильнее скажет.
да на ридной мове (или как там?).
и не важно, что в математике он как Пушкин.
зыж
не все, кто красиво и правильно говорит, под амбразуру лягут.
угу.
а скорее даже наоборот.
| |
|
|
|
4.68, виндотролль (?), 10:27, 23/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
+1, переставил местами 2 стейтмента (сохраняя логику) — меняется время выполнения. Просто где-то какая-то эвристика предсказания начала промахиваться, и вот ты уже проиграл 5% времени выполнения.
| |
|
5.70, Ваня (??), 13:21, 23/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
add ax,bx
add bx,cx
add ax,cx
и
add bx,cx
add ax,bx
Первый код выполнится быстрее (инструкции спарятся), второй займёт меньше места. Эвристика, мля... И магия. Разумеетя "леноровская".
| |
|
6.81, Аноним (-), 16:09, 24/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
> мля... И магия. Разумеетя "леноровская".
Нет, дядя, эта магия называется некромансией. Потому что 16-битный асм это сильно, да :)
| |
|
|
|
|
2.63, Аноним (-), 02:34, 23/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Линукс перегоняют строки по байтику?
Опух? Там давно уже оптимизации, тем более что у x86 есть команды копирования в цикле.
| |
|
3.72, Ваня (??), 13:32, 23/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
rep movsq медленнее копирования через MMX, копирование через MMX медленнее, чем через SSE.
| |
3.78, arisu (ok), 16:12, 23/03/2012 [^] [^^] [^^^] [ответить]
| +/– |
> тем более что у x86 есть команды копирования в цикле.
которые до относительно недавнего времени нещадно тормозили из-за бага в микрокоде.
| |
|
|
1.20, Аноним (-), 14:35, 22/03/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> process_vm_readv, process_vm_writev (поддерживаются только ядром Linux начиная с версии 3.2) - для организации прямого обращения к областям памяти других процессов.
Они изобрели наконец-то kvm(3) ?
hint.
$ man -k kvm
kvm(3) - kernel memory interface
| |
1.52, Аноним (-), 18:55, 22/03/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
ждем в debian testing, хотя это, наверное, будет уже после выпуска 7.0...
| |
|