Сколько влияния использование 'var' оказывает на производительность Компилятора C#?

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

Я знаю, что использование var не изменяет характеристики во время выполнения моего кода. Но вопрос только что произошел со мной: я плачу большой штраф во время компиляции за всю дополнительную работу, которую компилятор теперь делает от моего имени?

Имеет кого-либо сделанного любые сравнительные тесты для наблюдения сколько широкого применения различия var делает ко времени компиляции?

19
задан Community 23 May 2017 в 12:16
поделиться

4 ответа

$(document).ready(function(){
    var response;
    $.validator.addMethod(
        "uniqueUserName", 
        function(value, element) {
            $.ajax({
                type: "POST",
                url: "http://"+location.host+"/checkUser.php",
                data: "checkUsername="+value,
                dataType:"html",
                success: function(msg)
                {
                    //If username exists, set response to true
                    response = ( msg == 'true' ) ? true : false;
                }
             });
            return response;
        },
        "Username is Already Taken"
    );

    $("#regFormPart1").validate({
        username: {
            required: true,
            minlength: 8,
            uniqueUserName: true
        },
        messages: {
            username: {
                required: "Username is required",
                minlength: "Username must be at least 8 characters",
                uniqueUserName: "This Username is taken already"
            }
        }
    });
});
-121--530045-

Мой совет: попробуйте оба способа. Измерьте результаты. Тогда ты узнаешь.

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

20
ответ дан 30 November 2019 в 03:20
поделиться

Типы нужно проверять в любом случае, это может даже сэкономить время... ладно, вряд ли :)
. Однако вас это не должно волновать - если ваша среда разработки работает медленно, купите больше памяти или новый компьютер. Не меняйте способ написания кода.

16
ответ дан 30 November 2019 в 03:20
поделиться

Тип правой части необходимо найти в любом случае для проверки типа и / или преобразование типа. Присвоение результата типу переменной дешево. Большая часть затрат (если таковая имеется) будет связана с тем, что нужно было сделать, чтобы позволить вычислить выражение до того, как были объявлены все локальные переменные, но вы платите за это, даже если не используете var. (Кстати, возможно или даже вероятно, что указанное выше ограничение вообще не повредит производительности.)

1
ответ дан 30 November 2019 в 03:20
поделиться

Правильный ответ - «ничего измеримого». Частичный (но ДЛИННЫЙ) список проходов, которые компилятор C # выполняет при компиляции, можно найти здесь:

http://blogs.msdn.com/ericlippert/archive/2010/02/04/how-many-passes. aspx

Тогда поймите, что вывод типа - это только часть одного прохода по этому списку.

3
ответ дан 30 November 2019 в 03:20
поделиться
Другие вопросы по тегам:

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