170 похожих чатов

33 ответов

20 просмотров

при вменяемом размере файла (мегабайты, а не гигабайты) скорее всего быстрее будет как раз считать его в память один раз, и дальше обрабатывать чтение чанками связано с размером файла, и никак не связано с рамером кеша процессора заполнением кешей программист не управляет, а оптимизация заключается в выравнивании структур в памяти и в правильном обходе этой памяти (идти последовательно, а не перескакивая участки и возвращаясь)

Alex-Choi Автор вопроса

А что на счет того что бы написать на асме такую штуку? Ведь все именно так и оптимизировано, SQL например и их оконные функции, все низкоуровневое что работает с данными. Про питон я написал, что "я, если не ошибаюсь, в питоне есть какие то такие функции"

я не понимаю, что ты этим хочешь сказать ассемблерные вставки в целом большая редкость (хотя это зависит от области софта) для чтения файла никто не будет писать кусок кода на асме, если весь остальной код написан на с/с++, да даже если на питоне и даже на асме нет прямых команд для управления/работы с процессорным кешем

Alex-Choi Автор вопроса

слабая тройка) Но спасибо

тебя оценили по трехбальной шкале

Alex-Choi Автор вопроса

Ахахаха))) нет, его совет

если тебе есть что сказать или возразить, ты можешь привести пример команд, которые противоречат тому, что я написал если возразить нечего, лучше промолчать

Alex-Choi Автор вопроса

Вот так всегда, разработчик начинает кричать на менеджера что мол "если такой умный, сядь и напиши код сам"

я не предлагаю писать код я предлагаю привести доказательства того, что я неправ, ведь ты именно это имеешь в виду

Alex-Choi Автор вопроса

Алексей, я не говорил и тем более не думал что ты не прав, я просто к тому что, если конструктивно, покажи мне что в асме нет возможности работать "косвенно" с кэшами типа l2l3

я понимаю, что тебе может сложно даваться эта мысль, поэтому попробую сформулировать более явно: невозможно найти в документации то, чего там нет

Alex-Choi Автор вопроса

Нее точно не в этом. Я просто не верю что ОС или там кто-то еще кто работает с дескрипторами, или как их там, умеет больше чем любой низкоуровневый язык программирования или чего там есть еще. Ведь как-то он управляется? Как-то очередь создает, както чего там ~GC делает, хотя стой, есть ли GC в кэше процессора))) Видимо нет, понятно все

и ос этим не управляет почитай про эффект даннинга-крюгера, может поможет разобраться

Ну и срач вы тут развели, давно такие не видел.

Так за-то интересно же - живо!))

ты просто давно не заходил

Ну да, я же и говорю с субъективной позиции: не видел. :)

Alex-Choi Автор вопроса

Тогда кто им управляет?

Микропрограмма управляющая кешем процессора просто при необходимости пишет поверх существующих данных.

Alex-Choi Автор вопроса

Ну так а на чем написана эта микропрограмма?

а ты эрудит, прикольная штука это данниг-крюгер)), не знал, буду теперь владеть мощным оружием против доходяг)

""" Третьей структурной особенностью БЭСМ-6 является метод использования сверхоперативной, не адресуемой из программы памяти небольшого объема, цель которого – автоматическая экономия обращений к основному оперативному запоминающему устройству. Эта сверхоперативная память управляется таким образом, что часто используемые операнды и небольшие внутренние командные циклы оказываются на быстрых регистрах и готовы к немедленному использованию в арифметическом устройстве или в системе управления машиной. Быстрые регистры в ряде случаев позволяют экономить до 60% всех обращений к памяти и уменьшают тем самым временные затраты на ожидание чисел и команд из основной памяти. Следует еще раз подчеркнуть, что об использовании быстрых регистров заботится аппаратура самой машины и при составлении программ об экономии обращений к памяти думать нет необходимости. """ сверхоперативная память -- так у нас в 60-е называли кеш. и уже в те времена кеш процессора был недоступен программисту

Это микрокод процессора. Он не меняется в ходе эксплуатации процессора кроме как в моменты обновления

Да-да, историческая справка подоспела

Alex-Choi Автор вопроса

Вот, то что нужно! @pavel_shakhov спасибо за пояснения

Я знаю как расшифровывается БЭСМ 😎 Глубоко копнул, респект 👍

помнишь я пару дней назад вкидывал картинку со способами оптимизации программ при помощи эффективного обращения к памяти? цитата как раз из той книжки. там, собственно, вся книга о том, как косвенно задействовать кеш

Помню. А что за книга?

"Техника оптимизации программ. Эффективное использование памяти", Крис Касперски

Понял, спасибо

Alex-Choi Автор вопроса

Что за книга?

выше дал

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта