Как стать автором
Обновить
0
0
Александр @draf_grakula

Пользователь

Отправить сообщение

Когда использовать Parallel.ForEach, а когда PLINQ

Время на прочтение13 мин
Количество просмотров76K

Введение


Обычно, при оптимизации программы для многоядерных компьютеров первым шагом является выяснение возможности разделения алгоритма на части, выполняющиеся параллельно. Если для решения задачи необходимо параллельно обрабатывать отдельные элементы из большого набора данных, то первыми кандидатами станут новые возможности параллельности в .NET Framework 4: Parallel.ForEach и Parallel LINQ (PLINQ)

Parallel.ForEach


Класс Parallel содержит метод ForEach, представляющий собой многопоточную версию обычного цикла foreach в C#. Подобно обычному foreach, Parallel.ForEach выполняет итерации над перечислимыми данными (enumerable), но с использованием множества потоков. Одна из более часто используемых перегрузок Parallel.ForEach выглядит следующим образом:

public static ParallelLoopResult ForEach<TSource>(
			 IEnumerable<TSource> source,
			 Action<TSource> body)

Ienumerable указывает на последовательность, по которой нужно выполнить итерации, а Action body задает делегат, вызываемый для каждого элемента. Полный список перегрузок Parallel.ForEach можно найти здесь.

PLINQ


Родственный с Parallel.ForEach PLINQ представляет собой модель программирования для паралелльных операций над данными. Пользователь определяет операцию из стандартного набора операторов, включающих в себя проекции, фильтры, агрегирование и т.д. Подобно Parallel.ForEach PLINQ достигает параллельности, разбивая входную последовательность на части и обрабатывая элементы в разных потоках.
В статье выделяются различия между этими двумя подходами к параллельности. Разбираются сценарии использования, в которых лучше всего использовать Parallel.ForEach вместо PLINQ и наоборот.

Выполнение независимых операций


Читать дальше →

Курсы Стенфордского университета

Время на прочтение1 мин
Количество просмотров7.3K

Стенфорд запустил онлайн курсы по криптографии. Их будет читать профессор Стэнфорда Dan Boneh 23 января этого года.

Лекции состоят из коротких видео лекций, приблизительно по 10 минут, в сумме примерно 2 часа в неделю, покрывающий основы современной криптографии. Присутствует интерактив — онлайн–квизы, домашние задания и лабы. Можно задавать свои вопросы в Q&A Forum. Конечно это всё бесплатно.

Так же Стенфордом запущено много разнонаправленных курсов, подобных этому Среди них Anatomy, Human-Computer Interaction, Machine Learning, Computer Security и прочие.

На хабре уже поднимали тему удалённых лекций Стенфорда ранее, но как уже было написано в одном и постов:«Реклама благому начинанию не повредит». Первый, второй посты.

Советую ознакомиться, очень любопытно.

UPD:
Привожу ссылки на группы, где люди могут обсуждать данные лекции:
https://groups.google.com/forum/#!forum/stanford-online-classes
https://groups.google.com/forum/#!forum/stanford_free_ru

Скрипт для Notepad++ на Python

Время на прочтение4 мин
Количество просмотров67K

Введение


Думаю, многим известен Notepad++ — удобная бесплатная утилита, выступающая в качестве «продвинутой» замены стандартному Блокноту Windows. Как и при работе в любом текстовом редакторе, в Notepad++ время от времени возникает необходимость автоматизировать какие-либо повторяющиеся действия, которые в силу сложности логики невозможно записать как макрос. К счастью, для решения этой задачи нет необходимости переключаться из Notepad++ в, например, Word, дабы воспользоваться встроенным в него VB.

Среди плагинов для Notepad++ существуют расширения, реализующие возможность написания скриптов для Notepad++ на разных языках, таких как JavaScript, Lua, PHP или Python. Именно на последнем я и решил остановиться для решения своей задачи.
Читать дальше →

Вышла книга CLR via C# на русском языке

Время на прочтение1 мин
Количество просмотров54K
image Очень рад, что издательство «Питер», наконец-то, выпустило в русской редакции замечательную книгу не менее замечательного автора — Джеффри Рихтера. И я рад поделиться этой новостью!

Эта книга, выходящая в третьем издании и уже ставшая классическим учебником по программированию, подробно описывает внутреннее устройство и функционирование общеязыковой исполняющей среды (CLR) Microsoft .NET Framework версии 4.0. Написанная признанным экспертом в области программирования Джеффри Рихтером, много лет являющимся консультантом команды разработчиков .NET Framework компании Microsoft, книга научит вас создавать по-настоящему надежные приложения любого вида, в том числе с использованием Microsoft Silverlight, ASP.NET, Windows Presentation Foundation и т.д.
Третье издание полностью обновлено в соответствии со спецификацией платформы .NET Framework 4.0 и принципами многоядерного программирования.

piter.com
books.ru
ozon.ru

Читать дальше →

Мой open source велосипед

Время на прочтение4 мин
Количество просмотров18K
“Воин не бросит начатое.”
Мастер Шифу, м.ф. Кунг-фу Панда


Можно рассматривать этот топик не как технический, а как художественный. Тут не будет кусков кода, диаграмм классов и прочей ерунды. Будет история одного java open source проекта, который я разрабатываю уже около года.

Начало


Все началось, когда я был на четвертом курсе одного провинциального российского университета. С семестра, о котором ходили легенды на моей специальности, как о “семестре-убийце“ с его 55-ю лабораторными работами по графике, компиляторам и вычислительной математике (далее ВМ).
Читать дальше →

Несколько слов о мотивации, времени, целях и людях

Время на прочтение4 мин
Количество просмотров21K
image

Первая вещь, которую необходимо знать. Существует два типа целей.


Первый – это те, которые надо достигать. Надо зарабатывать деньги, чтобы не умереть от голода, надо развиваться, чтобы быть востребованным и прочее. Это очевидно и мало у кого вызывает вопросы, такие цели нельзя не достигать.

Второй – это то, что хочется. Это и есть мотивация.

Если вам интересно, как получить максимальный результат в самый короткий срок, конкретные советы по обретению мотивации и опыт, как лично мой, так и известных людей – добро пожаловать
Читать дальше →

Правила личной эффективности от ЭД

Время на прочтение21 мин
Количество просмотров66K
Заранее предупреждаю и извиняюсь, но оно того стоит: букаф многа.

Введение

В средней школе я был «круглым» двоечником, которого переводили в следующий класс только под значительным влиянием моего отца, в то время проректора ФПИ, довольно влиятельного (в личном общении) и властного человека.

В конце седьмого класса у меня встал выбор — идти в ПТУ или учиться дальше в школе. Все учителя, настаивали на том, что мне бесполезно учиться не то что в институте, но и в старших классах, в виду моей бездарности. Естественно, это мне не очень понравилось, и я решил стать лучшим в школе.

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

Я взял учебники по всем предметам с младших классов и начал их читать и конспектировать. Тут же я понял, что с текущей скоростью чтения, с неразвитой памятью, с низкой скоростью конспектирования, неспособностью сконцентрировать внимание, с многочисленными друзьями со двора, одноклассниками и со спортивной секции, я вряд ли смогу изучить весь школьный материал и за пять лет.

Читать дальше →

Очередная порция записей вебинаров для ИТ-бизнеса

Время на прочтение1 мин
Количество просмотров4.7K
Привет, Хабр!

Около полугода назад мы публиковали пост со ссылками на записи вебинаров для ИТ-бизнеса, которые проводились в рамках портала Смартсорсинг.

За прошедшие полгода мы провели ещё немного вебинаров, записями которых делимся с вами:

  1. Введение в Lean и Agile. Ведущий: Никита Филиппов из компании Scrumtrek. Ссылка на запись уже публиковалась на Хабре отдельно, но пусть будет и в общем списке. Смотреть...
  2. Как российские ИТ-компании могут зарабатывать на Windows Azure. Ведущий: Дмитрий Мартынов из Microsoft. Смотреть...
  3. Как продавать ИТ-консалтинг. Ведущий: Евгений Калинин, автор известной в ИТ-бизнесовых кругах книги «RTFM. Книга по ИТ-аутсорсингу». Смотреть...
  4. Как зарабатывать на заказной разработке ПО. Ведущий: Вадим Митякин, директор компании ГАЛС Софт. Смотреть...

Кстати, в этот четверг будет ликбез-вебинар на тему закона о защите персональных данных. Ссылка на регистрацию вот. Те, кто не хочет оставлять свой email могут просто дождаться конца недели. Запись вебинара так же будет доступна в открытом доступе.

Подкаст «42». Выпуск 58. Umputun о продуктивности, подкастинге и управлении программистами

Время на прочтение1 мин
Количество просмотров1.9K
У нас в гостях известный подкастер Умпутун, создатель и ведущий самого популярного русскоязычного ИТ-подкаста «Радио-Т». Евгений ведет также подкасты с рассказами о его жизни в США, с разговорами на технические темы и с рассмотрением теории и практики качественной звукозаписи.

Продуктивность и приложения
  • Принципы продуктивности Умпутуна. Простой секрет: «Чтобы продуктивно работать, надо работать»
  • Почему преувеличена ценность методологии Getting Things Done?
  • Об эффективной обработке почты и другой входящей информации
  • Разные приложения: Evernote, Alfred, Mail.app, Sparrow, Adium

Техника
  • Какими компьютерами и гаджетами обладает наш гость?
  • Почему Умпутун не собирается покупать iPhone 4S?

Читать дальше →

Подборка видео с различных конференций

Время на прочтение2 мин
Количество просмотров4.2K
На конференции попасть получается не всегда, а умных людей послушать хочется. Решил собрать воедино скопившиеся ссылки на видеоматериалы. Надеюсь кому то пригодится.

Известные
Читать дальше →
2

Информация

В рейтинге
Не участвует
Откуда
Berlin, Berlin, Германия
Зарегистрирован
Активность