<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 computer-names console crossorigin deprivation desktop dna dotnet email eupl falling feature 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 windows word x86 xbox xss youtube zig ziglang Übermensch БОКЕБЪЛГАРИН БЪ БЪлгария Белезниците Били Били.Белезниците БялДонор Веган Виста Възраждане ГЛУПАК Гана Глиста ЕС Казарма Копейкин Мода.и.овча.мисъ НЕКАДЪРНИК НРБ ПО-ЗЛЕ.И.ОТ.РАБИ Подкасти Разни Румен СИК СКУМ СетенЧук Скум ТИР Туче Украйна Урсула Яначков авангард аз айфонджия алгоритми амбиции анархизъм антиваксъри армения аудио аутисти бази.данни бакъп без без.пръчове безпросвета бенчмарк биготи биомаса бира боклук борисов ботев брадва булшит бъг бъгове бял ваксина вандал век венерика викинги вицове вишу война вървежен гана ганорник гей гейщина германия герои гешев глупак говеда групировка гюбек данъкоплатец двойни.стандарти дедотия демокрация дизайн дисциплина добитък докери долар донори држава дришльо дрон ебане еврогейски.съюз езици експеримент електроника електроника.s2 емиграция ендпойнт енум ерген ергономия жалкар задача затоплизъм защита здраве златен злато игри идеали идиократ идиократи идиокрация идиот избори избори.рабин изкуство икономика имбецили имейл инвестиране инокулация инструмента интервю ипад искам.да.си.реда казах камшикодържач капитализъм карабах караница картечница кино клавиатура ковид19 колайдер колям.кур комари комплексар комунизъм консолидация конспирации космонавтика кофа кофит-19 краставица криптовалути курви кучелюбци лайно лаладжия лаптоп либерастия литература лоши.практики луд лъжеучени лъжец любов майни майтапи малоумници мафия мениджмънт месо местене метавселена метафизика механика мистика мисъл мода мода.овча.мисъл модерация морал мутра мутри наука национализъм не.it негър некадърник некадърници неон нидерландия овча овчи олигофрени организация офтопик парички партия педал пенджури пенсия пишока плюскане победа погромист поезия политика порно посредствен почивка празници прасе превод предалщина програмиране проект проста простотии против.правилата проф пръч пръч.дришльо пръчка психика психични.болести психология пустиняк путин путката путьо рабин рабин.е.шибан.пе работа радост разврат разни разработка расизъм резерват рейтинг реклама рекламен религия рест ризи ропче ропчета русия руски.език рутина самоковска сасипаха секира село селяндур сериали сериозно.програм сетен сеянин симулация скопяване скръм слушалки сортиране софия софтуер софтуни социализъм спектрометър спринтове сране стандарти стил стуйо стюи сушилня сцена съвет съм сън сървър сърничка таб ташаци телевизия тема територията терминология термояд технологии титли традиция тролинг тръмп туба туче тъпак тъпанари тъпня уиндоус украйна умнокрасивци фалит фантастика фашизъм фейк.акаунти физика филми форум форумни.проекти футбол хазарт хамали харабия хардуер хахаха хомофобия хостинг храна хумор цайко цайси целофан цензура цензурра циганин чалга чалгар чекии чернокраки честота чипове чнг чужбина чук шпация щайга юан яката яко ям 🔨 😂 🪓


Някой да знае добър алгоритъм за четене на ред от текстов файл, но без използване на допълнителен буфер?

  

0 1


  ФейкПрофил  Последно редактирано на 25.10.2020 от johnfound, видяно: 2625 пъти. #16865

Идеята е – имаме манипулатор на отворен файл. Функцията чете от текущото място във файла, до края на реда и връща прочетения ред. Файла остава позициониран на началото на следващия ред.

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



  johnfound  Създадено на 25.10.2020, видяно: 2620 пъти. #16867
ФейкПрофил

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

Е-е-е, то като минеш на ОО парадигма, всякакви такива трикове се правят просто. Можеш да си пазиш контекста и буфери и всичко.

Естествено и аз мога да го направя с ООП. Но честно казано, далеч не съм сигурен, че точно в този случай ескалацията на абстракциите е оправдана. Просто защото смятам, че простите функции, трябва да се имплементират просто.



  synergie  Създадено на 26.10.2020, видяно: 2604 пъти. #16964
|
bvbfan

Ти нямаш нищо общо с програмиране.

Виж сега, смешник, разбирам че нямаш никаква идея как работи mmap. Но аз съм писал няколко файлови системи за Линукс и поназнайвам това, онова. Освен това, макар че не съм експерт по memory management-a на Линукс, се оправям сравнително добре в кода (това дето е в linux/mm).

Ta, избягвай бълнуванията с какво имам общо и с какво не. :)

Та, да се върнем на въпроса, mmap-нал си файла, получил си адрес. Четеш първия байт от този адрес. Какво се случва? :)

Концентрирай се над отглеждането на домати



  Дон Реба  Създадено на 27.10.2020, видяно: 2581 пъти. #17002

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



  johnfound  Последно редактирано на 27.10.2020 от johnfound, видяно: 2576 пъти. #17004
Дон Реба

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

За съжаление е малко по-сложно, защото четенето от файл е функция на операционната система. И да, овърхеда е само викане на функция, но системна функция. Което обикновено е много скъпа операция (но зависи и от операционната система).

Затова и четенето на единични байтове е много бавно. Ако е за един байт няма проблеми, но да прочетеш цял файл така е прекалено бавно.



  Дон Реба  Създадено на 27.10.2020, видяно: 2571 пъти. #17005

да, влизане в кърнъл спейс и тн. аз обаче не казах да четеш байт по байт, а само казвам че отзад имаш буфер със сигурност, така че ако просто ти си направиш подобен буфер, овърхеда ще е никакъв, и всъщност друго решение няма. размера на сектор е микроскопичен от гледна точка на съвременен компютър, не е като 80те години при сектор 4к, дето ако десет програми си заделят такъв буфер и ще заемеш голяма част от рама



  gat3way  Създадено на 27.10.2020, видяно: 2565 пъти. #17008

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



  johnfound  Създадено на 27.10.2020, видяно: 2562 пъти. #17009
gat3way

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

Ние в момента говорим за операционната система, а не за буфера на хардуера. Какво пречи на драйвера да си завъди буфер и да си го използва? Пък и точно при лентовите устройства ако прочетеш байт, а след това след 2..3 секунди втори байт, то лентата вече ще е избягала напред. Тоест, някакво буфериране трябва да има...



  bvbfan  Последно редактирано на 27.10.2020 от bvbfan, видяно: 2557 пъти. #17011
|

Виж сега, смешник, разбирам че нямаш никаква идея как работи mmap. Но аз съм писал няколко файлови системи за Линукс и поназнайвам това, онова. Освен това, макар че не съм експерт по memory management-a на Линукс, се оправям сравнително добре в кода (това дето е в linux/mm).

Ta, избягвай бълнуванията с какво имам общо и с какво не. :)

Та, да се върнем на въпроса, mmap-нал си файла, получил си адрес. Четеш първия байт от този адрес. Какво се случва? :)

По-скоро ти не знаеш, прочети. Може да мапнеш файл, който в пъти по-голям от цялата ти памет, то това и идеята.



  gat3way  Създадено на 27.10.2020, видяно: 2542 пъти. #17014

Абе то може, но има нещо което се нарича demand paging и то е че когато прочетеш дори един байт от мапнатия файл се алокира физическа памет, онова се изчита от диска и се копира в нея. Като цяло "ама това е виртуална памет" нищо не означава, тя всичката памет на процесите е виртуална така или иначе, ако въпросът е "хаби ли се физическа памет когато се mmap-ва", то отговорът е "да, хаби се" - не незабавно, но колкото повече достъпваш от файла, толкова повече физическа памет се алокира. mmap-ването естествено може да води до огромни спестявания, но това е в случая когато няколко различни процеса мапват един и същ файл, тогава макар и на различни виртуални адреси им се мапва същата физическа памет и така се избягват разхищенията.



  johnfound  Създадено на 27.10.2020, видяно: 2539 пъти. #17015

Само да добавя, че в Unix/Linux "всичко е файл", от който може да трябва да се четат редове, но далеч не всичко може да се мапва в паметта.

Впрочем, както и далеч не всичко може да се seek-ва назад.



  bvbfan  Последно редактирано на 27.10.2020 от bvbfan, видяно: 2521 пъти. #17031

Performance with MAP_POPULATE pdf madvise for paging. Но да има някакво копиране.



  gat3way  Създадено на 27.10.2020, видяно: 2494 пъти. #17058
bvbfan

Performance with MAP_POPULATE pdf madvise for paging. Но да има някакво копиране.

Това по никакъв начин не променя нещата обаче, същата история е, единствено копира малко повече наведнъж, за да намали page fault-овете.

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



  |  Създадено на 03.11.2020, видяно: 2454 пъти. #17520
bvbfan

Performance with MAP_POPULATE pdf madvise for paging. Но да има някакво копиране.

Та, използва ли mmap допълнителен буфер или не? :)



  |  Създадено на 06.11.2020, видяно: 2415 пъти. #17868

Аз пак забравих, mmap използва ли допълнителна памет или не? :)



  bvbfan  Създадено на 06.11.2020, видяно: 2411 пъти. #17869

Съмнявам се да си я чувал преди да се напише в темата, камо ли да си я ползвал, така че съсредоточи се към глупостите, които можеш ти, ако има такива.



  |  Създадено на 06.11.2020, видяно: 2408 пъти. #17870
bvbfan

Съмнявам се да си я чувал преди да се напише в темата, камо ли да си я ползвал, така че съсредоточи се към глупостите, които можеш ти, ако има такива.

Кое точно не съм чувал? Mmap? Казах ти, ориентирам се сравнително добре в кода на ядрото за управление на виртуалната памет. Та, знам не само какво прави linux/mm/mmap.c, но и доста голяма част от кода, който се вика когато има page fault.

Та, да попитам пак, използва ли mmap допълнителна памет? Или не?



  synergie  Създадено на 06.11.2020, видяно: 2397 пъти. #17879
|
bvbfan

Съмнявам се да си я чувал преди да се напише в темата, камо ли да си я ползвал, така че съсредоточи се към глупостите, които можеш ти, ако има такива.

Кое точно не съм чувал? Mmap? Казах ти, ориентирам се сравнително добре в кода на ядрото за управление на виртуалната памет. Та, знам не само какво прави linux/mm/mmap.c, но и доста голяма част от кода, който се вика когато има page fault.

Та, да попитам пак, използва ли mmap допълнителна памет? Или не?

Чичка, ти не помниш в тема с 5 страници какво си писал, а си доста добре запознат с пейдж фоулт хендлъра.



  |  Създадено на 06.11.2020, видяно: 2387 пъти. #17880
synergie
|
bvbfan

Съмнявам се да си я чувал преди да се напише в темата, камо ли да си я ползвал, така че съсредоточи се към глупостите, които можеш ти, ако има такива.

Кое точно не съм чувал? Mmap? Казах ти, ориентирам се сравнително добре в кода на ядрото за управление на виртуалната памет. Та, знам не само какво прави linux/mm/mmap.c, но и доста голяма част от кода, който се вика когато има page fault.

Та, да попитам пак, използва ли mmap допълнителна памет? Или не?

Чичка, ти не помниш в тема с 5 страници какво си писал, а си доста добре запознат с пейдж фоулт хендлъра.

Я, клюкарката пак се изсра. :)

И все пак не виждам отговор: използва ли mmap допълнителна памет или не?


0 1


Някой да знае добър алгоритъм за четене на ред от текстов файл, но без използване на допълнителен буфер?

  



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