<bgdev />free

| |  


All tags 2023 9may ai algorithm alpha amd american api argon2 arm asm asmbb assembler attachment awareness balgaria bay888 bcrypt bender beta bgdev-next bgdev-next.👍 big.data bitchnigga bitcoin bmw boi borg brexit bug bulgaria business c cad chat cloud code computer-names console crossorigin deprivation desktop dna dotnet email eupl falling feature food for forum foundation fp fresh fun game gcc github goats google gpl gpt gpt.3.5 gypsies happiness harvard hash improvement include investment it java javascript js kleta kleta.maqka.balg lambi language learning leftovers legend level levenshtein.dist libx license linkedlist linux m0 ma mcafee mele microsoft minimag minimalism negro net nginx nigga not.a.bug oop paradigm parler patterns perception persuasion pipe play.station politics populi pornhub pow pro programming protonmail python reba rust sci-fi scripting seks seo server shell sleep smartbeauty soft-skills sqlite srabska sse starship sugerface syntax tablet tailwindcss telegram theme thug troll80lvl tutanota typescript uacme ui uk unix untermensch upload uptime usa utilities ux vb via viber virtual.reality vox vps vulnerable war wasm weapons-grade web will windows word x86 xbox xss youtube zig ziglang Übermensch БОКЕБЪЛГАРИН БЪ БЪлгария Белезниците Били Били.Белезниците БялДонор Веган Виста Възраждане ГЛУПАК Гана Глиста ЕС Казарма Копейкин Мода.и.овча.мисъ НЕКАДЪРНИК НРБ ПО-ЗЛЕ.И.ОТ.РАБИ Подкасти Разни Румен СИК СКУМ СетенЧук Скум ТИР Туче Украйна Урсула Яначков авангард аз айфонджия алгоритми амбиции анархизъм антиваксъри армения аудио аутисти бази.данни бакъп без без.пръчове безпросвета бенчмарк биготи биомаса бира боклук борисов ботев брадва булшит бъг бъгове бял ваксина вандал век венерика викинги вицове вишу война вървежен гана ганорник гей гейщина германия герои гешев глупак говеда групировка гюбек данъкоплатец двойни.стандарти дедотия демокрация дизайн дисциплина добитък докери долар донори држава дришльо дрон ебане еврогейски.съюз евтини.принтери езици експеримент електроника електроника.s2 емиграция ендпойнт енум ерген ергономия жалкар задача затоплизъм защита здраве златен злато игри идеали идиократ идиократи идиокрация идиот избори избори.рабин изкуство икономика имбецили имейл инвестиране инокулация инструмента интервю ипад искам.да.си.реда казах камшикодържач капитализъм карабах караница картечница кино клавиатура ковид19 колайдер колям.кур комари комплексар комунизъм консолидация конспирации космонавтика кофа кофит-19 краставица криптовалути курви курс кучелюбци лайно лаладжия лаптоп либерастия литература лоши.практики луд лъжеучени лъжец любов майни майтапи малоумници мафия мениджмънт месо местене метавселена метафизика механика мистика мисъл мода мода.овча.мисъл модерация морал мутра мутри наука национализъм не.it негър некадърник некадърници неон нидерландия овча овчи олигофрени организация офтопик парички партия педал педераси пенджури пенсия пишока плюскане победа погромист поезия политика порно посредствен почивка празници прасе превод предалщина програмиране проект проста простотии против.правилата проф пръч пръч.дришльо пръчка психика психични.болести психология пустиняк путин путката путьо рабин рабин.е.шибан.пе работа радост разврат разни разработка расизъм резерват рейтинг реклама рекламен религия рест ризи ропче ропчета русия руски.език рутина самоковска сасипаха секира село селяндур сериали сериозно.програм сетен сеянин симулация скопяване скръм слушалки сортиране софия софтуер софтуни социализъм спектрометър спринтове сране стандарти стил стуйо стюи сушилня сцена съвет съм сън сървър сърничка таб ташаци телевизия тема територията терминология термояд технологии титли традиция тролинг тръмп туба туче тъпак тъпанари тъпня уиндоус украйна умнокрасивци фалит фантастика фашизъм фейк.акаунти физика филми форум форумни.проекти футбол хазарт хамали харабия хардуер хахаха хомофобия хостинг храна хумор цайко цайси целофан цензура цензурра циганин чалга чалгар чекии чернокраки честота чипове чнг чужбина чужденци чук шпация щайга юан яката яко ям 🔨 😂 🪓


neon

  

0 1 2 3


  BIGBUGEX  Създадено на 11.12.2024, видяно: 434 пъти. #129246

Обаче тая стратегия е добра и за конвертиране към десетична стойност. Цената е едно деление което е трудно да се избегне. Дори на х64 умножението по 10 е възможно с последователност от 2 инструкции без умножение.

unsigned utos( char *s, unsigned val ) {
	uint64_t xval = ( val * 0x100000000ULL + 999999999 ) / 1000000000;
	unsigned i, j, x;
	
	for( j = i = 0; i < 10; i++ ) {
		s[j] = ( x = xval >> 32 ) + '0';
		
		if( x ) break;
		
		xval *= 10;
	}
	
	while( i++ < 9 ) {
		xval = (uint32_t)xval;
		xval *= 10;
		s[++j] = ( xval >> 32 ) + '0';
	}
	
	s[++j] = 0;
	
	return j;
}


  |  Създадено на 17.12.2024, видяно: 328 пъти. #129662

Jetson Orin Nano Super Developer Kit

67 TOPS за $250.

Докато се наканя, разпродадоха всичко което имаха. :(



  Дон Реба  Създадено на 17.12.2024, видяно: 320 пъти. #129664
BIGBUGEX

Обаче тая стратегия е добра и за конвертиране към десетична стойност. Цената е едно деление което е трудно да се избегне.

универсалното делене си е бавно ако не ти е хардуерно. мене наскоро ми излезе като проблем и мисля да мина с таблица със степените на десятката



  BIGBUGEX  Последно редактирано на 18.12.2024 от BIGBUGEX, видяно: 294 пъти. #129672
Дон Реба

универсалното делене си е бавно ако не ти е хардуерно. мене наскоро ми излезе като проблем и мисля да мина с таблица със степените на десятката

Едно делене или 128 битово умножение щото е голяма константа. Което е един път за конвертирането на цялата стойност към десетична бройна система. Пак е добре.



  Дон Реба  Създадено на 18.12.2024, видяно: 288 пъти. #129674

е добре е, на фона на обичайния код за микроконтролери който се вее из интернет. човек, ползват % за да циклят в буфер който е с размер степен на двойката, смятай. аз от друга страна нарочно не си линквам либгцц за да не се изкушавам да деля. в момента карам с printf който има само %x и %s , мисля все пак да добавя и %d



  BIGBUGEX  Последно редактирано на 18.12.2024 от BIGBUGEX, видяно: 280 пъти. #129675

Може да разчитат компилатора да сведе % до & при оптимизацията. Най-вероятно и компилатора не пасе трева като го види това. И аз се изкушавам вместо >> да ползвам / със степен на 2 за по-добра прегледност. Въпреки че още не съм го правил. Трябва да се види компилатора какво генерира.

ПС: Например разчитам че това умножение * 0х100000000ULL ще се сведе до чист << 32 или диретно зареждане в старшата двойна дума.



  Дон Реба  Последно редактирано на 18.12.2024 от Дон Реба, видяно: 275 пъти. #129676

то компилатора вероятно го прави, но двете неща не са баш идентични, трябва да е именно & а не %. ако нещо осереш и завъртиш поинтера назад, ще получиш - 1%256 което е - 1, а не 255 и ще почнеш да пишеш и четеш извън буфера. отделно че компилатора трябва да добави още 3-4 инструкции за знака, та да превърне & в %



  |  Създадено на 18.12.2024, видяно: 245 пъти. #129686
Дон Реба

е добре е, на фона на обичайния код за микроконтролери който се вее из интернет. човек, ползват % за да циклят в буфер който е с размер степен на двойката, смятай. аз от друга страна нарочно не си линквам либгцц за да не се изкушавам да деля. в момента карам с printf който има само %x и %s , мисля все пак да добавя и %d

Щом си стигнал до printf, делението ти е най-малкия проблем за скорост. :)



  Дон Реба  Създадено на 18.12.2024, видяно: 238 пъти. #129687

не е до скорост, за микроконтролерите гледам всичко да ми е под 100% контрол. либгцц може и да линкна ако видя зор, ама за сега се справям и без него. да не забравяме че от ей такива дреболии е тръгнал рънтайма и е стигнал до днешните безумия и помощ, помощ winsxs ми напълни диска



  |  Създадено на 18.12.2024, видяно: 228 пъти. #129691
Дон Реба

не е до скорост, за микроконтролерите гледам всичко да ми е под 100% контрол. либгцц може и да линкна ако видя зор, ама за сега се справям и без него. да не забравяме че от ей такива дреболии е тръгнал рънтайма и е стигнал до днешните безумия и помощ, помощ winsxs ми напълни диска

Аз затова избягвам да използвам printf изобщо ако ме вълнува контрол. Не знам как е имплементирано в libgcc, но си спомням главоболията с libc като линкна всичките i18n идиотщини, които така или иначе никой не използва.

Едно време имаше една ulibc която беше по-читава, но не знам как е за микроконтролери, май беше за Линукс.



  |  Създадено на 18.12.2024, видяно: 206 пъти. #129696

Между другото, най-добрия вариант за printf би бил стринга да се парсва когато се компилира и да се заменя със съответните функции за печатане. Би работило идеално в 99.9% от случаите.



  Дон Реба  Създадено на 18.12.2024, видяно: 199 пъти. #129697

там е работата че не знаеш дали печата, в момента по-често праща по някой сериен порт



  |  Създадено на 18.12.2024, видяно: 180 пъти. #129700
Дон Реба

там е работата че не знаеш дали печата, в момента по-често праща по някой сериен порт

Е то е ясно че от микроконтролер най-често ще се праща по сериен порт.

Това не е важно. Идеята е


printf("ala %d bala %04x nica %s\n", x, y, s); 

да се направи на


printstr("ala "); printdec(x, 0, 0); printstr(" bala "); printhex(y, 4, 1); 
printstr(" nica "); printstr(s); printstr("\n");

Така няма да се налага да парсваш стрингс за форматиране на микроконтролера.



  Дон Реба  Създадено на 19.12.2024, видяно: 154 пъти. #129710

е то парсването е доста елементарно, цялата функция ми се събира в един екран, и е по-бързо от пращането на символ така че накрая пак седиш и чакаш линията на терминала. забележи че разни паскали и други езици преди С ползват точно тоя подход - няколко вида принтове и си ги нареждаш за да сглобиш нещо. принтф на С обаче не случайно е такова каквото е и ги измества, дори в С++ никой не ползва цин и цоут, всички ползват принтф



  |  Създадено на 19.12.2024, видяно: 129 пъти. #129769
Дон Реба

е то парсването е доста елементарно, цялата функция ми се събира в един екран, и е по-бързо от пращането на символ така че накрая пак седиш и чакаш линията на терминала. забележи че разни паскали и други езици преди С ползват точно тоя подход - няколко вида принтове и си ги нареждаш за да сглобиш нещо. принтф на С обаче не случайно е такова каквото е и ги измества, дори в С++ никой не ползва цин и цоут, всички ползват принтф

Елементарно е, но също е елементарно и да се направи по време на компилация. :) Защо да мъчиш микроконтролера с парсване всеки път? :)

Аз бих го направил като pass в llvm, не знам колко лесно е в gcc. Но ако помня правилно ти вече си писал парсър за C++, така че можеш да го интегрираш в него. :)

Иначе и аз съм фен на printf. Този вариант запазва удобството му с простотата на изпълнение на "по-оптимален" код на микроконтролера.

And now for something completely different: първия SOC board с armv9 (и SVE) на пазара. Не е ужасно евтина, но се ядва...

Orion O6



  waldorf  Създадено на 19.12.2024, видяно: 119 пъти. #129770
|

And now for something completely different: първия SOC board с armv9 (и SVE) на пазара. Не е ужасно евтина, но се ядва...

Orion O6

Цената не е чак толкова зле. Ама в този бюджет новия Джетсън като, че ли по си струва. Интересно ако се сравнят двете платформи коя за какво ще е по добра.



  |  Създадено на 20.12.2024, видяно: 97 пъти. #129785
waldorf

Цената не е чак толкова зле. Ама в този бюджет новия Джетсън като, че ли по си струва. Интересно ако се сравнят двете платформи коя за какво ще е по добра.

Ако ти трябва много памет , PCIe слот или най-новите ядра на Арм (които не са за сървърния сегмент), Orion 6 изглежда по-добрия вариант. Ако ти трябва ML, и особено CUDA, Orin.

Според мен обявяването на Orion 6 от Radxa точно в този момент вероятно не е случайно. Особено ако се има предвид, че реално не може да ги получиш преди началото на февруари. Ако си сложа шапката от алуминиево фолио дори бих казал, че добавянето на буквата "о" по средата на "Orin" не е случайно. :)



  waldorf  Създадено на 20.12.2024, видяно: 93 пъти. #129786
|

Ако ти трябва много памет , PCIe слот или най-новите ядра на Арм (които не са за сървърния сегмент), Orion 6 изглежда по-добрия вариант. Ако ти трябва ML, и особено CUDA, Orin.

Според мен обявяването на Orion 6 от Radxa точно в този момент вероятно не е случайно. Особено ако се има предвид, че реално не може да ги получиш преди началото на февруари. Ако си сложа шапката от алуминиево фолио дори бих казал, че добавянето на буквата "о" по средата на "Orin" не е случайно. :)

Май, май ... бързали са след обявяването на нови Орин - явно не са го очаквали толкова скоро и толкова евтин. Нищо де, нВидия си има нужда от малко конкуренция. Не, че Радха са кой знае каква конкуренция ама като, че ли са най добре от всички до момента в долния сегмент.



  Дон Реба  Създадено на 20.12.2024, видяно: 82 пъти. #129791
|

Елементарно е, но също е елементарно и да се направи по време на компилация. :) Защо да мъчиш микроконтролера с парсване всеки път? :)

заемаш програмна памет, чист принтф като код е 3 пъти по-къс от раздробен



  |  Създадено на 20.12.2024, видяно: 66 пъти. #129807
Дон Реба

заемаш програмна памет, чист принтф като код е 3 пъти по-къс от раздробен

Good point. На теория е възможно. На практика не знам дали е вярно, но е валиден аргумент.


0 1 2 3


neon

  



AsmBB v3.0 (check-in: 7544654b24928b93); SQLite v3.47.0 (check-in: 03a9703e27c44437);
©2016..2024 John Found; Licensed under EUPL; Powered by Assembly language Created with Fresh IDE