Skip to content

rkhapov/shpora-debug-optimizations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Домашнее задание

Основное задание

Вам дан код JPEG подобного сжатия (проект JPEG), вам нужно максимально, насколько это возможно, оптимизировать его, в том числе уменьшить потребление памяти.

Рекомендации:

  • Профилируйте код (используйте dotTrace)
  • Для начала оптимизируйте загрузку изображений и переписывайте только неэффективный код
  • Пишите бенчмарки
  • Не бойтесь математики

С разными вопросами можно писать @Golrans

Подсказки:

  • Распаралельте DCT
  • CbCr subsampling
  • Используйте указатели, вместо GetPixel/SetPixel, придётся написать unsafe код
  • Замените DCT на FFT (System.Numerics.Complex), нельзя использовать библиотеки, только собственная реализация!
  • Помимо подсказанного в проекте ещё много узких мест (╯°□°)╯︵ ┻━┻

Дополнительное задание

В качестве допа, можете найти проблему в проектах /debugging/tasks/managed/MemoryLeakStatic и /debugging/tasks/managed/MemoryLeakFinalizers

Решением задачки будет считаться ваш рассказ (с конкретной последовательностью команд, можно даже скрипт) о том, как в проекте можно найти утечку памяти используя только windbg

Из новых команд вам пригодятся !mroot !gcroot !dumpheap !finalizerqueue

С разными вопросами можно писать @rkhapov

Презентация

https://docs.google.com/presentation/d/1vSv8IpNCa5S2WKANGve5PsblWyX9l3RDBJn_VUtQo9k/edit?usp=sharing

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages