Публікації
В последние годы, первые минуты наступившего года мы проводим именно так
- Отримати посилання
- X
- Електронна пошта
- Інші додатки
Измерение времени работы программы
- Отримати посилання
- X
- Електронна пошта
- Інші додатки
Для меня производительность программы была всегда очень важным моментом. Было время, когда это даже приводило к ссорам с партнерами по команде. Но речь не об этом. В .NET-е я всегда использовал DateTime для измерения временного промежутка - не очень точно, но когда промежутки измеряются секундами - вполне достаточно. После моей предыдущей заметки один из коллег рассказал мне о классе Stopwatch . В принципе - суть та же, но код выглядит немного элегантней: var watch = new Stopwatch ( ) ; watch. Start ( ) ; // тут кусок кода, время работы которого мы измеряем watch. Stop ( ) ; Console. WriteLine ( "Elapsed: {0}" , watch. Elapsed ) ; Век живи - век учись.
Как лучше, последовательно или параллельно
- Отримати посилання
- X
- Електронна пошта
- Інші додатки
Есть в .NET Framework 4.0 новое пространство имен System.Threading.Tasks , которое многие незаслуженно обходят своим вниманием. Там - уйма полезных классов, которые позволяют делать просто сложные вещи. Например класс Parallel . Простейшее применение - позволяет автоматически разбить кусок работы на части и выполнить в разных потоках, если это имеет смысл. Да-да! Класс сам определит количество ядер в системе и, например, количество итераций в цикле, который надо выполнить и выполнит его в оптимальном количестве потоков. Посмотрим насколько сложно его использовать: using System ; using System . Threading . Tasks ; using System . Threading ; namespace ConsoleApplication2 { class Program { static void Main ( string [ ] args ) { // sequential DateTime start = DateTime . Now ; for ( int i = 0 ; i < 10000 ; i + + ) { EmulateSomeJob ( ) ; } ; // parallel DateTime start2 = DateTime . Now ; Parallel . For ( 0 , 9999 , i = > { ...
Вам нужна раскраска кода? Вот она.
- Отримати посилання
- X
- Електронна пошта
- Інші додатки
Зимние шины Nokian WR G2 (195/65R15 95T XL)
- Отримати посилання
- X
- Електронна пошта
- Інші додатки