mirror of
https://github.com/cheatsnake/backend-cheats.git
synced 2024-11-28 04:31:15 +03:00
update topic about Profiling
This commit is contained in:
parent
94312d07d0
commit
1d6f4ab0c5
24
README.md
24
README.md
@ -2466,19 +2466,27 @@
|
||||
|
||||
- ### Профилирование
|
||||
|
||||
[Профилирование](https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)) кода это попытка найти узкие места в вашем коде. Профилирование позволяет проанализировать ваш код и найти его самые долго выполняющиеся участки. Инструмент, используемый для анализа работы, называют профилировщиком или профайлером.
|
||||
[Профилирование](https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)) – это анализ производительности программы, который позволяет обнаружить узкие места в которых происходит наибольшая нагрузка на процессор и/или память.
|
||||
- Для чего это нужно?
|
||||
> Информация полученая после профилирования может оказаться очень полезной для оптимизации производительности. Также, профилирование может быть полезно при отладке программы для поиска багов и ошибок.
|
||||
- Когда этим нужно заниматься?
|
||||
> По мере потребности – когда есть явные проблемы или подозрения.
|
||||
- Какие конкретные инструменты для этого есть?
|
||||
> Для Python используется: [cProfile](https://docs.python.org/3/library/profile.html), [line_profiler](https://github.com/pyutils/line_profiler).
|
||||
> Для Node.js: [встроенный Profiler](https://nodejs.org/en/docs/guides/simple-profiling/), [Clinic.js](https://github.com/clinicjs/node-clinic), [модуль Trace events](https://nodejs.org/api/tracing.html).
|
||||
> Для Go: [пакет runtime/pprof](https://go.dev/blog/pprof), [утилита trace](https://go.dev/doc/diagnostics#tracing).
|
||||
|
||||
<details>
|
||||
<summary>🔗 <b>Ссылки на материалы</b></summary>
|
||||
|
||||
1. 📄 [**Профилирование кода к Python**](https://python-scripts.com/cprofile-code-profiling)
|
||||
1. 📄 [**Профилировщики Python**](https://digitology.tech/docs/python_3/library/profile.html)
|
||||
1. 📺 [**Утечки памяти в Node.js и JavaScript, сборка мусора и профилирование** – YouTube](https://youtu.be/0oZa64SB2wM)
|
||||
1. 📺 [**Профилирование JS: увидеть самое важное и не утонуть в море чисел** – YouTube](https://youtu.be/rKtWxCYBFP4)
|
||||
1. 📄 [**Простое профилирование Node.js приложений**](https://nodejs.org/ru/docs/guides/simple-profiling/)
|
||||
1. 📄 [**Профилирование и оптимизация программ на Go**](https://habr.com/ru/company/badoo/blog/301990/)
|
||||
1. 📄 [**Профилирование в Go**](https://golangforall.com/ru/post/profiling.html)
|
||||
1. 📄 [**Kotlin performance on Android**](https://habr.com/ru/company/oleg-bunin/blog/420143/)
|
||||
2. 📄 [**Профилировщики Python**](https://digitology.tech/docs/python_3/library/profile.html)
|
||||
3. 📺 [**Утечки памяти в Node.js и JavaScript, сборка мусора и профилирование** – YouTube](https://youtu.be/0oZa64SB2wM)
|
||||
4. 📺 [**Профилирование JS: увидеть самое важное и не утонуть в море чисел** – YouTube](https://youtu.be/rKtWxCYBFP4)
|
||||
5. 📄 [**Простое профилирование Node.js приложений**](https://nodejs.org/ru/docs/guides/simple-profiling/)
|
||||
6. 📄 [**Профилирование и оптимизация программ на Go**](https://habr.com/ru/company/badoo/blog/301990/)
|
||||
7. 📄 [**Профилирование в Go**](https://golangforall.com/ru/post/profiling.html)
|
||||
8. 📄 [**Kotlin performance on Android**](https://habr.com/ru/company/oleg-bunin/blog/420143/)
|
||||
</details>
|
||||
|
||||
<div align="right"><a href="#top">Содержание ⬆️</a></div>
|
||||
|
@ -2332,7 +2332,16 @@ Testing is the process of assessing that all parts of the program behave as expe
|
||||
|
||||
- ### Profiling
|
||||
|
||||
[Profiling](<https://en.wikipedia.org/wiki/Profiling_(computer_programming)>) is an attempt to find bottlenecks in your code. Profiling allows you to analyze your code and find its longest running sections. The tool used to analyze performance is called a profiler.
|
||||
[Profiling](<https://en.wikipedia.org/wiki/Profiling_(computer_programming)>) is a program performance analysis, which reveals bottlenecks where the highest CPU and/or memory load occurs.
|
||||
|
||||
- What is it for?
|
||||
> The information obtained after profiling can be very useful for performance optimization. Profiling can also be useful for debugging the program to find bugs and errors.
|
||||
- When should this be done?
|
||||
> As needed - when there are obvious problems or suspicions.
|
||||
- What specific tools are there for this?
|
||||
> For Python, use: [cProfile](https://docs.python.org/3/library/profile.html), [line_profiler](https://github.com/pyutils/line_profiler).
|
||||
> For Node.js: [built-in Profiler](https://nodejs.org/en/docs/guides/simple-profiling/), [Clinic.js](https://github.com/clinicjs/node-clinic), [Trace events module](https://nodejs.org/api/tracing.html).
|
||||
> For Go: [runtime/pprof](https://go.dev/blog/pprof), [trace utility](https://go.dev/doc/diagnostics#tracing).
|
||||
|
||||
<details>
|
||||
<summary>🔗 <b>References</b></summary>
|
||||
|
Loading…
Reference in New Issue
Block a user