#кэшпамять — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #кэшпамять, aggregated by home.social.
-
[Перевод] Структуры данных на практике. Глава 6: Стеки и очереди
«Простота — требование, необходимое для обеспечения надёжности», — Эдсгер Дейкстра Невидимая структура данных В каждой программе используется стек — стек вызовов. Каждый вызов функции записывает в стек кадр, каждый возврат извлекает его. Он настолько фундаментален, что мы редко о нём задумываемся. Но когда нам нужен собственный стек или очередь, крайне важно правильно выбрать реализацию. Однажды я отлаживал вылет прошивки во встраиваемой системе RISC-V. У системы был планировщик задач, использующий очередь для управления ожидающими задачами. При большой нагрузке система вылетала с переполнением стека. Переполнение стека? Очередь должна была находиться в куче, а не в стеке. Проблема заключалась не в самой очереди, а в том, как она была реализована . Для очереди использовался связанный список, и каждый вызов malloc() выполнял распределение из пула памяти, делившего пространство со стеком. Под нагрузкой очередь разрасталась, пул фрагментировался и рано или поздно стеку не оставалось места для роста. Как же мы устранили проблему? Заменили очередь на основе связанного списка кольцевым буфером — очередью на основе массива фиксированного размера, получив при этом отсутствие динамического распределения, предсказуемое использование памяти и десятикратный рост скорости.
-
[Перевод] Структуры данных на практике. Глава 6: Стеки и очереди
«Простота — требование, необходимое для обеспечения надёжности», — Эдсгер Дейкстра Невидимая структура данных В каждой программе используется стек — стек вызовов. Каждый вызов функции записывает в стек кадр, каждый возврат извлекает его. Он настолько фундаментален, что мы редко о нём задумываемся. Но когда нам нужен собственный стек или очередь, крайне важно правильно выбрать реализацию. Однажды я отлаживал вылет прошивки во встраиваемой системе RISC-V. У системы был планировщик задач, использующий очередь для управления ожидающими задачами. При большой нагрузке система вылетала с переполнением стека. Переполнение стека? Очередь должна была находиться в куче, а не в стеке. Проблема заключалась не в самой очереди, а в том, как она была реализована . Для очереди использовался связанный список, и каждый вызов malloc() выполнял распределение из пула памяти, делившего пространство со стеком. Под нагрузкой очередь разрасталась, пул фрагментировался и рано или поздно стеку не оставалось места для роста. Как же мы устранили проблему? Заменили очередь на основе связанного списка кольцевым буфером — очередью на основе массива фиксированного размера, получив при этом отсутствие динамического распределения, предсказуемое использование памяти и десятикратный рост скорости.
-
[Перевод] Структуры данных на практике. Глава 6: Стеки и очереди
«Простота — требование, необходимое для обеспечения надёжности», — Эдсгер Дейкстра Невидимая структура данных В каждой программе используется стек — стек вызовов. Каждый вызов функции записывает в стек кадр, каждый возврат извлекает его. Он настолько фундаментален, что мы редко о нём задумываемся. Но когда нам нужен собственный стек или очередь, крайне важно правильно выбрать реализацию. Однажды я отлаживал вылет прошивки во встраиваемой системе RISC-V. У системы был планировщик задач, использующий очередь для управления ожидающими задачами. При большой нагрузке система вылетала с переполнением стека. Переполнение стека? Очередь должна была находиться в куче, а не в стеке. Проблема заключалась не в самой очереди, а в том, как она была реализована . Для очереди использовался связанный список, и каждый вызов malloc() выполнял распределение из пула памяти, делившего пространство со стеком. Под нагрузкой очередь разрасталась, пул фрагментировался и рано или поздно стеку не оставалось места для роста. Как же мы устранили проблему? Заменили очередь на основе связанного списка кольцевым буфером — очередью на основе массива фиксированного размера, получив при этом отсутствие динамического распределения, предсказуемое использование памяти и десятикратный рост скорости.
-
[Перевод] Структуры данных на практике. Глава 6: Стеки и очереди
«Простота — требование, необходимое для обеспечения надёжности», — Эдсгер Дейкстра Невидимая структура данных В каждой программе используется стек — стек вызовов. Каждый вызов функции записывает в стек кадр, каждый возврат извлекает его. Он настолько фундаментален, что мы редко о нём задумываемся. Но когда нам нужен собственный стек или очередь, крайне важно правильно выбрать реализацию. Однажды я отлаживал вылет прошивки во встраиваемой системе RISC-V. У системы был планировщик задач, использующий очередь для управления ожидающими задачами. При большой нагрузке система вылетала с переполнением стека. Переполнение стека? Очередь должна была находиться в куче, а не в стеке. Проблема заключалась не в самой очереди, а в том, как она была реализована . Для очереди использовался связанный список, и каждый вызов malloc() выполнял распределение из пула памяти, делившего пространство со стеком. Под нагрузкой очередь разрасталась, пул фрагментировался и рано или поздно стеку не оставалось места для роста. Как же мы устранили проблему? Заменили очередь на основе связанного списка кольцевым буфером — очередью на основе массива фиксированного размера, получив при этом отсутствие динамического распределения, предсказуемое использование памяти и десятикратный рост скорости.
-
Как очистить кэш на iPhone и зачем вообще это делать
https://www.unian.net/curiosities/kak-ochistit-kesh-na-iphone-kak-pochistit-iphone-ot-musora-13197243.html
#unian #кэшпамять #какочиститькэшнаайфоне #айфон #Apple #эппл #какпочиститьтелефон -
Как очистить кэш на iPhone и зачем вообще это делать
https://www.unian.net/curiosities/kak-ochistit-kesh-na-iphone-kak-pochistit-iphone-ot-musora-13197243.html
#unian #кэшпамять #какочиститькэшнаайфоне #айфон #Apple #эппл #какпочиститьтелефон -
Как очистить кэш на iPhone и зачем вообще это делать
https://www.unian.net/curiosities/kak-ochistit-kesh-na-iphone-kak-pochistit-iphone-ot-musora-13197243.html
#unian #кэшпамять #какочиститькэшнаайфоне #айфон #Apple #эппл #какпочиститьтелефон -
Как очистить кэш на iPhone и зачем вообще это делать
https://www.unian.net/curiosities/kak-ochistit-kesh-na-iphone-kak-pochistit-iphone-ot-musora-13197243.html
#unian #кэшпамять #какочиститькэшнаайфоне #айфон #Apple #эппл #какпочиститьтелефон -
Кэширование и всё, что с ним связано
Привет, хабр! Сегодня хочу рассказать об одной технологии, которая сопровождает нас буквально везде. От процессора в вашем смартфоне до глобальных сервисов вроде YouTube. Речь пойдет о кэшировании. Да, я знаю, тема кажется избитой. Но когда я впервые осознала, что одни и те же принципы работают на всех уровнях, от крошечного L1-кэша до распределенного Redis-кластера — это было похоже на инженерное просветление. Предлагаю и вам пройти этот путь вместе со мной.
-
Кэширование и всё, что с ним связано
Привет, хабр! Сегодня хочу рассказать об одной технологии, которая сопровождает нас буквально везде. От процессора в вашем смартфоне до глобальных сервисов вроде YouTube. Речь пойдет о кэшировании. Да, я знаю, тема кажется избитой. Но когда я впервые осознала, что одни и те же принципы работают на всех уровнях, от крошечного L1-кэша до распределенного Redis-кластера — это было похоже на инженерное просветление. Предлагаю и вам пройти этот путь вместе со мной.
-
Кэширование и всё, что с ним связано
Привет, хабр! Сегодня хочу рассказать об одной технологии, которая сопровождает нас буквально везде. От процессора в вашем смартфоне до глобальных сервисов вроде YouTube. Речь пойдет о кэшировании. Да, я знаю, тема кажется избитой. Но когда я впервые осознала, что одни и те же принципы работают на всех уровнях, от крошечного L1-кэша до распределенного Redis-кластера — это было похоже на инженерное просветление. Предлагаю и вам пройти этот путь вместе со мной.
-
Кэширование и всё, что с ним связано
Привет, хабр! Сегодня хочу рассказать об одной технологии, которая сопровождает нас буквально везде. От процессора в вашем смартфоне до глобальных сервисов вроде YouTube. Речь пойдет о кэшировании. Да, я знаю, тема кажется избитой. Но когда я впервые осознала, что одни и те же принципы работают на всех уровнях, от крошечного L1-кэша до распределенного Redis-кластера — это было похоже на инженерное просветление. Предлагаю и вам пройти этот путь вместе со мной.