Твердотельные диски и Visual Studio IDE. Большие улучшения? Реальные истории использования, никакая теория

Разобрался с этим и заставил его работать с помощью await / async, благодаря этому посту Как вернуть значение из функции обещания в h.reponse . Вот рабочий код

const Boom = require('boom');
const sql = require('mssql');
const dbConfig = require('../config/sql');

module.exports = [{
        method: 'GET',
        path: '/storeInfos',
        handler: async function (request, h) {
            return await storeInfos(request, h);
        }
    }
];

async function storeInfos(request, h) {
    let pool;
    try {
        pool = await sql.connect(dbConfig)
        let data = await pool.request()
            .query('select Id, Name from StoreInfo')

        if (!data || data.recordset.length == 0) {
            throw Boom.notFound();
        }
        return h.response(data.recordset);
    } catch (err) {
        throw Boom.internal(err.message);
    } finally {
        if (pool) {
            sql.close();
        }
    }
}

Вероятно, не самое элегантное решение, но оно работает. Я читал, что нет необходимости закрывать соединение с пулом, но если sql.close () не вызывается, возникает ошибка о том, что «Глобальное соединение уже существует» во второй раз, когда вызывается функция. [ 113]

91
задан 5 revs, 3 users 73% 2 November 2014 в 22:17
поделиться

5 ответов

У меня есть достоверные данные для Visual C # 2008. Краткая версия заключается в том, что лучше всего тратить деньги на более быстрый процессор, чем на более быстрый ввод-вывод . Далее следует более длинный ответ ...

Наш C # (.NET 3. 5) решение содержит 81 проект с более чем 2 млн строк кода (включая комментарии и пустые строки). Пару лет назад мы перешли с ПК с процессором Pentium 4 3 ГГц со стандартными жесткими дисками на ПК с процессором Core 2 Duo 2,6 ГГц с жесткими дисками WD Raptor 10 000 об / мин (74 ГБ). Ускорение было огромным. Примерно с 10 минут до 3,5 минут. Все это в 32-разрядной среде Windows XP Pro с 4 ГБ ОЗУ.

У нас также есть одна гигабайтная i-RAM (для информации в Google), которая по сути представляет собой жесткий диск RAM с резервным аккумулятором. В отличие от SSD, который быстро читает, но медленнее для записи, i-RAM работает быстро для обоих, но если вы потеряете заряд, батареи хватит только на 12 часов, поэтому вам нужно дисциплинировать свои проверки. Это сократило время компиляции на платформе Core 2 Dou еще на минуту (до 2,5 минут) по сравнению с жестким диском Raptor со скоростью вращения 10000 об / мин.

I ' С тех пор мы обнаружили, что старые накопители Raptor на 74 ГБ со скоростью вращения 10000 об / мин немного медленнее, чем современные накопители со скоростью вращения 7200 об / мин из вашего сада, и мы доказали, что результаты стабильных тестов позволяют успешно компилировать. Мы не пробовали новые Velociraptors, но они, безусловно, будут быстрее, но, вероятно, недостаточно, чтобы окупиться только на время компиляции.

На прошлой неделе мы получили новую платформу Intel Core i7-870 с G.Skill Falcon 128 SSD ГБ (с контроллером Indilix Barefoot) и стандартный жесткий диск 500 ГБ в качестве второго диска. Я также вставил i-RAM в этот компьютер и протестировал все конфигурации.

По сравнению с Core 2 Duo, который компилировался за 3,5 минуты для жесткого диска и 2,5 минуты для i-RAM, i7-870 компилируется за 1 мин 40 секунд для SSD, HDD и i-RAM плюс-минус 3 секунды.

Итак, оба раза мы обновляли рабочие станции разработчиков, подавляющее большинство улучшений производительности во время компиляции C # произошло за счет более быстрого ЦП, а не более быстрого диска. Если вы хотите ускорить компиляцию, вкладывайте деньги в ЦП, а не на диск.

Тем не менее, SSD намного быстрее загружает Visual Studio и открывает решение (хотя у меня нет времени для этого) . Если вы можете позволить себе SSD, вы никогда не вернетесь назад, поскольку каждая программа на вашем компьютере загружается намного быстрее, это невероятно. Но это не сильно ускорит ваши компиляции. И это благодаря однопоточности Visual Studio C #. Если бы Microsoft когда-нибудь объединилась и сделала свой компилятор в среде IDE многопоточным, тогда мы бы действительно могли использовать эти четыре ядра ...


Обновление, май 2012 г .: Теперь мы снова обновили наши ПК и на основе того, что мы узнали, прежде чем сосредоточиться на производительности процессора. Новые ПК оснащены процессорами Intel Core i7-2600k, разогнанными до 4,6 ГГц, с твердотельным накопителем Intel 510 Series 120 ГБ SATA III, 16 ГБ оперативной памяти и большим процессорным кулером! Удивительно, но это почти сократило время компиляции почти вдвое, и я определенно списываю это на очень большое увеличение мощности процессора, а не на более быстрый SSD.

Результаты компиляции C # в Visual Studio 2010 были:

  • 159 секунд: стандартный Intel Core i7-870 (2,9–3,3 ГГц), 4 ГБ ОЗУ с SATA II SSD
  • 109 секунд: стандартный Intel Core i7-2600k (3,4–3,8 ГГц), 16 ГБ ОЗУ с SATA III SSD
  • 84 секунды: Intel Core i7-2600k, разогнанный (4,63 ГГц), 16 ГБ ОЗУ с твердотельным накопителем SATA III
78
ответ дан 24 November 2019 в 06:49
поделиться

Использовать XHTML

  • Быстро завершается с ошибкой . Если есть какие-либо несоответствия, они будут обнаружены во время проверки.
  • Это способствует лучшему дизайну путем отделения семантической разметки от представления и т. Д.
  • Он структурирован , что означает, что вы можете рассматривать его как data и запускать к нему всевозможные запросы. Например, вы можете найти все адреса или цитаты на своем веб-сайте.
  • Вы можете выполнить оптимизацию времени сборки . Поскольку это хорошо сформированный XML, вы можете легко выполнять операции поиска / замены во время сборки. Или любое управление документами и манипуляции с ними.
  • Вы можете написать XSLT или другие сценарии преобразования для программного преобразования вашего XHTML для других платформ. Например, у вас может быть XSLT для iPhone, который преобразовал бы весь XHTML, чтобы сделать его совместимым или более удобным для пользователя для iPhone
  • Вы сами готовитесь к будущему . Преобразование XHTML в новую семантику снова очень просто с помощью преобразования.
  • Поисковые системы будут продолжать развиваться, чтобы собирать больше семантической информации как часть программируемой сети .
  • Операции DOM больше. надежен, поскольку он структурирован.
  • С алгоритмической точки зрения,
5
ответ дан 24 November 2019 в 06:49
поделиться

Я тоже обдумывал это, и некоторое время назад я купил быструю SD-карту , которую я могу вставить в ноутбук и забыть о ней, чтобы Windows Vista можно использовать функцию ReadyBoost . Кажется, что это имеет значение, но этого явно недостаточно, чтобы гарантировать покупку SSD-накопителя только для этого.

Затем у меня начались проблемы при обновлении Subversion , и я решил отказаться от идеи ReadyBoost и смонтировать SD-диск в точку монтирования, где я затем создал все свои файлы проекта. SD-карта не очень большая (1 ГБ), но она, безусловно, сократила время ожидания сборок и значительно ускорила отладку.

По большей части это субъективно, и я отвечаю на вопрос, требующий фактов: «Я чувствую это» и «Я чувствую то». Из-за моих экспериментов с запуском файлов Visual Studio с другого диска я определенно считаю, что это будет иметь значение. Сколько и сколько я готов заплатить за это - вопрос, на который я также с нетерпением жду ответа. Мой ноутбук может работать с другим жестким диском, и я не мог выбрать между SDD и 7200 об / мин.

2
ответ дан 24 November 2019 в 06:49
поделиться

Когда я купил новый компьютер, я не был уверен, что сделало мой опыт быстрее.

Однако мой коллега заменил жесткий диск на 7200 об / мин на SSD. Сразу же Visual Studio (особенно запуск / отладка ASP.NET) была как минимум в два раза быстрее!

4
ответ дан 24 November 2019 в 06:49
поделиться

Я только что купил один и сожалею только о том, что не купил SSD раньше.

Время компиляции и раньше было нормальным, но теперь вся IDE стала намного более отзывчивой. И это не только Visual Studio, но и другие приложения. Когда вся система работает так быстро, намного легче оставаться в потоке.

27
ответ дан 24 November 2019 в 06:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: