• Стоит ли делать RAID из SSD?

    @sergey_privacy
    Админ со стажем, начинающий DevOps
    У меня есть один знакомый, который в лучшем смысле этого слова является компьютерным гиком, фанатом, маньяком своего дела. Пару лет назад задал я ему этот же вопрос. Он пытался мне что то объяснить, почему не получится, но прозвучало малоубедительно. Затарились мы с ним пивом, железом и начали тестировать. Интересовал только RAID-0, т.к. нужна была максимальная скорость, а не надежность. Коллега работает "ремонтником", поэтому у него выбор железа под руками оказался приличным. 3 разных контроллера и конфигурации от 2 до 4 дисков были опробованы нами. Скорость - практически такая же, как у одного из дисков. После моего безмерного удивления, собрали на обычных жестких дисках формата 2,5. При конфигурации из 2-х дисков на том же самом контроллере скорость возросла процентов до 190 от скорости одного диска. Три диска дали нам примерно 270 процентов скорости от скорости одного диска. 4 диска- 330-350% от скорости одного диска. Теоретическое обоснование сейчас не вспомню, т.к. не понял его и тогда. Но резюме следующее: сборка SSD в нулевой рейд скорости тебе не прибавит, только уменьшится надежность. Сборка SSD в рейды другого уровня намного быстрее угробит твои диски.
    Ответ написан
    7 комментариев
  • WPF, работа с ListCollectionView в фоновом потоке - как исправить ошибку?

    @serdceder
    А вы как хотели? Конечно интерфейс будет виснуть, вы напрямую с потоком UI работаете, коллекцию фильтруете на лету. Есть несколкьо атрофированный класс BackroundWorker, но лучше синхронизацией контекста воспользуйтесь - она позволяет передавать данный из одного потока в другой с помощью событий. Почитайте материал, там очень много теории.
    Ответ написан
    Комментировать
  • WPF, работа с ListCollectionView в фоновом потоке - как исправить ошибку?

    @serdceder
    Создайте отдельный класс ViewModel, там создайте сво-во
    public ListCollectionView SearchResults
    {
    get { return _searchResults2; }
    set
    {
    _searchResults2 = value;
    RaisePropertyChanged("SearchResults");
    }
    }

    А это обработчик для команды:
    ...
    _searchResults2.Dispatcher.BeginInvoke(
    (Action)delegate
    {
    _searchResults2.Filter = new Predicate(o => ...)
    }, System.Windows.Threading.DispatcherPriority.Background);
    SearchResults = _searchResults2;

    И будет вам счастье. Учитесь работать через команды и не совмещайте логику и View.
    Ответ написан
    Комментировать
  • WPF, работа с ListCollectionView в фоновом потоке - как исправить ошибку?

    MikhailD
    @MikhailD
    Developer
    Менять UI в потоках, отличных от UI-потока нельзя. Если вам нужно из другого потока изменить данные в UI, воспользуйтесь диспатчером

    Пример того, как это выглядит в WinRT:
    Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                    {
                        // Код, работающий в UI потоке
                    });
    Ответ написан
    Комментировать