Size: a a a

2020 May 17

v

vehlwn in pro.cxx
Вопрос бессмыслен без конкретной задачи и алгоритма, который подвергается распаралеливанию.
источник

AM

Aleksey Muravev in pro.cxx
W
ну если распараллелить вычисления, насколько ощутимый может быть выигрыш
Значительный. Если нужно много схожих и не связанных вичислений. Точно не сказать. Всё от конкретного кейса зависит
источник

W

W in pro.cxx
Aleksey Muravev
Значительный. Если нужно много схожих и не связанных вичислений. Точно не сказать. Всё от конкретного кейса зависит
понятно, спасибо
источник

VO

Vyacheslav Olkhovche... in pro.cxx
Или незначительный. Потомучто все сожрет передача данных и запуск вычислений
источник

AM

Aleksey Muravev in pro.cxx
Vyacheslav Olkhovchenkov
Или незначительный. Потомучто все сожрет передача данных и запуск вычислений
Это уже от кривизны рук зависит
источник

VO

Vyacheslav Olkhovche... in pro.cxx
с какой стати? Исключительно от задачи
источник

F

Fucking Ah in pro.cxx
Всем привет! Разбираюсь с устройством аллокации памяти в Си, рассматриваю реализацию malloc и free из книги Кернигана и Ритчи.
Текущая задача – модифицировать код до функционала calloc. Задавал свой вопрос в чат для маслят, но не получил никакого ответа, поэтому пытаю счастье здесь.
Первое изменение находится в формуле nunits: теперь число запрашиваемых байтов определяется как произведение параметров ncells и cellsize.
Перед самым возвратом из функции аллокации я организовал цикл, число итераций в котором равно количеству затребованных ячеек, т.е. ncells. Блок памяти приводится к типу char, чтобы в конце каждой итерации его увеличение на cellsize приводило к смещению на число байт указанного типа. Ну, и в теле цикла просто кладём по адресу нули.
И вот какая странность. Я запускаю код на смартфоне (неплохое начало, да?), и в разных средах – разный результат. C4droid ругается в момент первого обращения к выделенной памяти внутри главной функции, а Cxx просит добавить явное приведение адреса, возвращаемого внутри morecore вызовом sbrk, и после этого работает без ошибок.
С чем именно связано это расхождение? Как создать универсальный вариант этой функции с той лишь оговоркой, что данная реализация изначально поддерживается на тех машинах, где допустимо сравнение указателей, полученных от разных системных вызовов?
https://pastebin.com/i2QwmfV4
источник

IL

Ignat Loskutov in pro.cxx
> char *q
> q += cellsize
> *q = 0
источник

F

Fucking Ah in pro.cxx
Ignat Loskutov
> char *q
> q += cellsize
> *q = 0
Лучше каждую итерацию смещаться на один байт?
источник

ЮП

Юрий Першин... in pro.cxx
Fucking Ah
Лучше каждую итерацию смещаться на один байт?
Если хотите все занулить, а не только каждый cellsize байт.
источник

F

Fucking Ah in pro.cxx
Юрий Першин
Если хотите все занулить, а не только каждый cellsize байт.
Как я понимаю, оригинальный calloc зануляет все?
И всё-таки почему одна ide без проблем запускает, а вторая – нет?
источник

МБ

Макс Бабич in pro.cxx
Кто тут админ? Дайте доступ на  @supapro не успел прожать бота походу
источник

ЮП

Юрий Першин... in pro.cxx
Fucking Ah
Как я понимаю, оригинальный calloc зануляет все?
И всё-таки почему одна ide без проблем запускает, а вторая – нет?
Оригинальный зануляет всё.
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Fucking Ah
Как я понимаю, оригинальный calloc зануляет все?
И всё-таки почему одна ide без проблем запускает, а вторая – нет?
Зануляет все
Иде не компилирует код
источник

NF

Nikolay Filchenko in pro.cxx
Antony Polukhin
А какие плану у Gentoo на LTO? Оно прям 15٪ перфа порой выигрывает
Все зависит от пользователя, собирать можно как и чем угодно
источник

D

Dmitriy in pro.cxx
добрый день
источник

D

Dmitriy in pro.cxx
читал кто-нибудь "Learn C the hard way"?
источник

F

Fucking Ah in pro.cxx
Юрий Першин
Оригинальный зануляет всё.
Спасибо!
источник

F

Fucking Ah in pro.cxx
Artöm Bakri Al-Sarmini
Зануляет все
Иде не компилирует код
Думал, что компилятор считается частью среды разработки. Надо бы окунуться в матчасть...
Получается, можно списать эти разночтения на особенности компиляторов, а какие именно особенности – сразу не сказать? Интересно, в чём именно c4droid (компилятор gcc+bionic, к слову) видит ошибку
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Fucking Ah
Думал, что компилятор считается частью среды разработки. Надо бы окунуться в матчасть...
Получается, можно списать эти разночтения на особенности компиляторов, а какие именно особенности – сразу не сказать? Интересно, в чём именно c4droid (компилятор gcc+bionic, к слову) видит ошибку
Иде это не компилятор
Текст ошибки есть?
источник