Я не до конца понимаю откуда компилятор берет тела функции функции memcpy memset?
Это жуткая история, в неё я был вынужден погрузиться недавно по самые уши. В двух словах: современные компиляторы (GCC, LLVM) во-первых распознают код копирования массивов и заменяют его на вызов memcpy/memmove/memset, во-вторых вставляют свой оптимизированный, как им кажется, код вместо библиотечного memcpy/memmove/memset. Внутри современных libc.a нет тела memcpy, так как разработчики библиотек всецело полагаются на компилятор. Иными словами, memcpy это интринсик.
Я столкнулся со следующей проблемой: при компиляции под RV32I, компилятор GCC 14 вставлял очень медленный вариант memcpy состоящий из простейшего цикла побайтового копирования (аналог "rep movsb" на интеллах). Как я только не пытался его отговорить, чтобы он этого не делал - перепробовал с десяток разных флагов, написал свой заоптимизированный вариант memcpy и даже назвал функцию подругому. Но GCC распознал мой хитрый монёвр и заменил мой код на аналог "rep movsb". Единственный способ который сработал это написать функцию memcpy на асме, поместить в отдельный memcpy.S, отдельно ассемблировать её и подключать только на стадии линковки. То есть надо сделать так, чтобы gcc не видел тела этой функции. Иначе он выкинет его и заменит на кусок говнокода.
Вы уверены в том, что Вы хотите доверить свою судьбу в руки ИИ ? А что если этот ИИ за Вас, чисто случайно, подпишет какое нибудь кабальное для Вас соглашение, ведь Вы физически не сможете вникнуть в суть текста этих 1000 форм, соглашений и справок. Вы и глазом не моргнёте как лишитесь своего имущества и накоплений, еще и шраф в 100500 триллионов рублей получите в придачу к статусу иноагента. Кому Вы потом будете рассказывать про побочный эффект прогресса ?
У меня коллега по работе столкнулся с тем, что не мог в течении почти десяти лет заменить одну букву своей фамилии в базах гос структур, из-за чего многие его справки принзавали недействительными, в том числе и автостраховки. И это без ИИ.
Основной посыл статьи: теперь можно делать больше меньшими силами.
Только в ущерб качеству.
И что мы увидим расцвет компаний из одного человека.
Сгоняйте в Китай, там таких миллионы, без всяких нейросетей. Но о качестве производимой продукции складывают легенды. Нас ждет тотальное падения качества и лавинный завал совершенно бесполезных, непригодных к использованию товаров и услуг.
Тут вспоминаетя одна из историй из Автостопом по Галактике, где Зафод рассказывал про цивилизацию которая специализировалась на производстве обуви:
— Много лет назад эта планета была счастливым, полным жизни миром люди, города, супермаркеты, обычная планета. Только на главных улицах этих городов было немного больше обувных магазинов, чем было действительно необходимо. И медленно, незаметно, их становилось все больше. Это хорошо известный экономический феномен, но грустно было видеть, как благодаря ему приходилось производить все больше и больше обуви, чтобы продавать ее в новых магазинах, а чем больше обуви они производили, тем хуже и хуже она становилась. И чем хуже становилась обувь, тем чаще приходилось покупать новую, и тем больше прибыли приносили обувные магазины, до тех пор, пока вся экономика планеты не достигла того, что, как мне кажется, называется Уровнем Обувной Катастрофы, и больше уже не было возможности строить что-либо другое, кроме обувных магазинов. В результате — крах, разрушение, и голод. Большинство населения вымерло. Те немногие, кто имел такую генетическую предрасположенность, мутировали в птиц — ты видел одну из них — и прокляли свои ноги, прокляли землю, которая их носила, и поклялись, что никто больше не будет ходить по ней. Несчастное племя.
Какой-то у Вас очень сложный и тернистый путь. :-) Я просто сделал Makefile и выложил шаблонный проект для MIK32 в репозиторий, снабдив его коротеньким README.md. Выдал студентам и они на его основе сделали свои проекты. Никаких IDE и прочих эклипсов.
PS: Если использовать родной HAL, то EEPROM едва хватает на вывод "Hello, world!". Есть желание переписать HAL в виде небольшого числа заголовочных файлов с inline функциями, #ifdef-ами и возможностью выполнить -flto. Чтоб ничего лишнего за собой не тянул.
Бумаги стало на порядок больше, только она вся сейчас электронная. В этом вся беда цифровизации - она упрощает работу со справками и их количество растет без останова.
Я закончил школу в 1986 - не учили нас программированию.
Видимо на ваш век уже не досталось. Информатику как обязательный предмет ввели в советских школах в 1985 году, но КУВТами школы наполнились только к 1990-му, а там и союзу конец.
Стругацких я читал, спасибо. Про программирование там нет ни слова. Вот такие гуманитарии и наводили тень на плетень, делали из программистов "заклинателей магического шара". :) Нет, оно конечно приятно когда тебя считают своего рода волшебником (иногда даже шаманом), но я уверен, что никто из программистов ни тогда ни сейчас не считал себя элитой (судя по зарплате).
А зачем нужна тогда супруга, если она не может любимому мужу галстук погладить и микрофон подвесить ? Ну то есть собрать его, рассеяного, утром на работу. ;)
Есть такое мнение, не подтвержденное пока экспериментально, что естественные нейронки в наших головах активно используют квантовые эффекты в своей работе. Если это так, то это несколько обнадеживает, так как на ближайшие десятилетия ставит серьезный барьер на пути создания ОИИ - кубитов пока слишком мало, а системы из них слишком громоздкие, на порядки дороже nvidia-вских ускорителей.
Микрофон ему супруга утром подвесит, пока галстук наглаживает. Запись можно вести в офф-лайне, а позже скормить запись нейросети. Нейронок распознающих голос предостаточно.
Программирование никогда не было элитарным, этому всех поголовно в советских школа учили в старших классах. Элитарным оно стало для тех, кто прогуливал уроки. ;)
Навеяло. Мне мало что нравилось в советской системе, но вот идея учить поголовно всех программированию со школьной скамьи была архи-правильной. Только продержалась она не долго. :( А сейчас это стало просто невозможно из-за нейросетей.
Гебернатор нужен людям, он представитель власти, и своего рода психотерапевт. Его основная задача сделать так, чтобы народ продолжал верить и подчиняться. Отправив на место металлического болванчика вместо живого губернатора вы получите эффект строго противоположный, если конечно не вооружить его каким нибудь бластером. ;)
Вангую, уже завтра придумают нейросети на кубитах и будет вам такая квантовая запутанность, что в ней родятся все возможные идеалы одновременно и сколлапсируют в сверхчеловека.
Почитал я комментатров и ничего не понял. Одни пишут, что халява пришла. Другие пишут, что халява ушла. Третьи - халявы вообще никогда не было, и любая работа даже в QA тоже труд ацкий. Так где халява ? Когда она уже придет наконец и заменит мне всех сотрудников. /s
Это же элементарно, Ватсон! Помошник губернатора запишит все разговоры с местными на "диктофон" и скормит эту запись нейронке и конечно же слегка приправит запись своим поиманием вопроса (он и сейчас так делает, только вместо нейронки у него секретарша). А нейронка, будь уверен, сдюжит. Вот как раз этих помошников и придется ликвидировать заменить на нейросети. Тут я всесело поддерживают прогресс ибо этих помошников развелось столько, что пруд пруди.
Это жуткая история, в неё я был вынужден погрузиться недавно по самые уши. В двух словах: современные компиляторы (GCC, LLVM) во-первых распознают код копирования массивов и заменяют его на вызов memcpy/memmove/memset, во-вторых вставляют свой оптимизированный, как им кажется, код вместо библиотечного memcpy/memmove/memset. Внутри современных libc.a нет тела memcpy, так как разработчики библиотек всецело полагаются на компилятор. Иными словами, memcpy это интринсик.
Я столкнулся со следующей проблемой: при компиляции под RV32I, компилятор GCC 14 вставлял очень медленный вариант memcpy состоящий из простейшего цикла побайтового копирования (аналог "rep movsb" на интеллах). Как я только не пытался его отговорить, чтобы он этого не делал - перепробовал с десяток разных флагов, написал свой заоптимизированный вариант memcpy и даже назвал функцию подругому. Но GCC распознал мой хитрый монёвр и заменил мой код на аналог "rep movsb". Единственный способ который сработал это написать функцию memcpy на асме, поместить в отдельный memcpy.S, отдельно ассемблировать её и подключать только на стадии линковки. То есть надо сделать так, чтобы gcc не видел тела этой функции. Иначе он выкинет его и заменит на кусок говнокода.
Вы уверены в том, что Вы хотите доверить свою судьбу в руки ИИ ? А что если этот ИИ за Вас, чисто случайно, подпишет какое нибудь кабальное для Вас соглашение, ведь Вы физически не сможете вникнуть в суть текста этих 1000 форм, соглашений и справок. Вы и глазом не моргнёте как лишитесь своего имущества и накоплений, еще и шраф в 100500 триллионов рублей получите в придачу к статусу иноагента. Кому Вы потом будете рассказывать про побочный эффект прогресса ?
У меня коллега по работе столкнулся с тем, что не мог в течении почти десяти лет заменить одну букву своей фамилии в базах гос структур, из-за чего многие его справки принзавали недействительными, в том числе и автостраховки. И это без ИИ.
Только в ущерб качеству.
Сгоняйте в Китай, там таких миллионы, без всяких нейросетей. Но о качестве производимой продукции складывают легенды. Нас ждет тотальное падения качества и лавинный завал совершенно бесполезных, непригодных к использованию товаров и услуг.
Тут вспоминаетя одна из историй из Автостопом по Галактике, где Зафод рассказывал про цивилизацию которая специализировалась на производстве обуви:
А чем нейронка лучше старого доброго спелл чеккера ?
А класть кто туда будет ? Или это как в анекдоте про деньги и тумбочку.
Какой-то у Вас очень сложный и тернистый путь. :-) Я просто сделал Makefile и выложил шаблонный проект для MIK32 в репозиторий, снабдив его коротеньким README.md. Выдал студентам и они на его основе сделали свои проекты. Никаких IDE и прочих эклипсов.
PS: Если использовать родной HAL, то EEPROM едва хватает на вывод "Hello, world!". Есть желание переписать HAL в виде небольшого числа заголовочных файлов с inline функциями, #ifdef-ами и возможностью выполнить -flto. Чтоб ничего лишнего за собой не тянул.
Бумаги стало на порядок больше, только она вся сейчас электронная. В этом вся беда цифровизации - она упрощает работу со справками и их количество растет без останова.
А сейчас всему классу задание выполняет ChatGPT и учителям совершенно пофиг.
Да, да, помню этого персонажа. :)
С творениями Пенроуза не знаком, но статейки всякого околонаучного толка на эту тему попадаются.
Видимо на ваш век уже не досталось. Информатику как обязательный предмет ввели в советских школах в 1985 году, но КУВТами школы наполнились только к 1990-му, а там и союзу конец.
Стругацких я читал, спасибо. Про программирование там нет ни слова. Вот такие гуманитарии и наводили тень на плетень, делали из программистов "заклинателей магического шара". :) Нет, оно конечно приятно когда тебя считают своего рода волшебником (иногда даже шаманом), но я уверен, что никто из программистов ни тогда ни сейчас не считал себя элитой (судя по зарплате).
А зачем нужна тогда супруга, если она не может любимому мужу галстук погладить и микрофон подвесить ? Ну то есть собрать его, рассеяного, утром на работу. ;)
Есть такое мнение, не подтвержденное пока экспериментально, что естественные нейронки в наших головах активно используют квантовые эффекты в своей работе. Если это так, то это несколько обнадеживает, так как на ближайшие десятилетия ставит серьезный барьер на пути создания ОИИ - кубитов пока слишком мало, а системы из них слишком громоздкие, на порядки дороже nvidia-вских ускорителей.
Микрофон ему супруга утром подвесит, пока галстук наглаживает. Запись можно вести в офф-лайне, а позже скормить запись нейросети. Нейронок распознающих голос предостаточно.
Программирование никогда не было элитарным, этому всех поголовно в советских школа учили в старших классах. Элитарным оно стало для тех, кто прогуливал уроки. ;)
Навеяло. Мне мало что нравилось в советской системе, но вот идея учить поголовно всех программированию со школьной скамьи была архи-правильной. Только продержалась она не долго. :( А сейчас это стало просто невозможно из-за нейросетей.
Гебернатор нужен людям, он представитель власти, и своего рода психотерапевт. Его основная задача сделать так, чтобы народ продолжал верить и подчиняться. Отправив на место металлического болванчика вместо живого губернатора вы получите эффект строго противоположный, если конечно не вооружить его каким нибудь бластером. ;)
Вангую, уже завтра придумают нейросети на кубитах и будет вам такая квантовая запутанность, что в ней родятся все возможные идеалы одновременно и сколлапсируют в сверхчеловека.
Микрофон "петличку" на губернатора повесить, делов то.
Почитал я комментатров и ничего не понял. Одни пишут, что халява пришла. Другие пишут, что халява ушла. Третьи - халявы вообще никогда не было, и любая работа даже в QA тоже труд ацкий. Так где халява ? Когда она уже придет наконец и заменит мне всех сотрудников. /s
Это же элементарно, Ватсон! Помошник губернатора запишит все разговоры с местными на "диктофон" и скормит эту запись нейронке и конечно же слегка приправит запись своим поиманием вопроса (он и сейчас так делает, только вместо нейронки у него секретарша). А нейронка, будь уверен, сдюжит. Вот как раз этих помошников и придется
ликвидироватьзаменить на нейросети. Тут я всесело поддерживают прогресс ибо этих помошников развелось столько, что пруд пруди.