Проводил эксперименты на x64 шестом дотнете, все ссылки с шарплаба тоже настроены x64, хоть там пятый, разницы это не дало (в коде бенчмарка я закомментил аттрибут DisassemblyDiagnoser, с которым вы можете посмотреть именно тот асм, который гоняет бенчмарк)
Кстати, интересно то, что если поставить Default на шарплабе, т. е. 32-битный рантайм, то мы в последнем эксперименте получили бы:
А еще не забываем про класс NativeMemory, который, как несложно догадаться, аллоцирует именно нативно (в частности, можем аллоцировать выровненную (aligned) память с помощью NativeMemory.AllocAligned)
Это единственное, чем он связан. Это не среда разработки, а текстовый редактор, развиваемый коммьюнити. А то может при случае на винду пожаловаться? Или гитхаб? Владелец-то тот же.
Settings -> Pages, там будет секция Custom domain, там указываете свой. А в настройках домена нужно создать запись, которая баиндит ваш домен к ip yourusername.github.io. Кстати с кастомным доменом не нужен будет тот костыль с заменой '/'
Да, не хостинг не имеет значения, именно поэтому статья о github pages, очень удобном хостинге для подобных задач. Можно буквально наделать себе программок на все случаи жизни).
многопоточностью
О да, этого не хватает. Могут завести к седьмому или восьмому дотнету. Жду. Я хоть и не вебдев, и не особо люблю, но признаю, клепать проженьки для себя и других настолько легко приятно даже мне. Тем более, что если что, можно взять домен (купить или даже добыть бесплатно) и повесить на github pages.
Нет! Наследование не для этого, оно нужно для бранчинга. Я искренне не понимаю, откуда вообще взялось это Композиция против Наследования, это вообще разные вещи. Переиспользование и модульность — это к композиции, а абстракции и бранчинг — наследование, вообще НЕ пересекающиеся вещи.
import decimal
def formulaFibWithDecimal(n):
decimal.getcontext().prec = 10000
root_5 = decimal.Decimal(5).sqrt()
phi = ((1 + root_5) / 2)
a = ((phi ** n) - ((-phi) ** -n)) / root_5
return round(a)
def iterativeFib(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
naive = iterativeFib(1_000_000)
smart = formulaFibWithDecimal(1_000_000)
print(f"Last 10 digits of the naive approach: {str(naive)[-10:]}")
print(f"Last 10 digits of the smart approach: {str(smart)[-10:]}")
Аутпут:
Last 10 digits of the naive approach: 8242546875
Last 10 digits of the smart approach: 0000000000
Если я нигде не ошибся, статья — мусор, даже непонятно, какую причину для минуса выбирать.
Ух ты. А кодген покажете? Там нужно в моем бенчмарке раскомментить DisassemblyDiagnoser, а потом посмотреть Artifacts папку
А еще я смотрю у вас Линукс, на нем может по-другому такие вещи работать (я на винде). Интересно посмотреть кодген!
Проводил эксперименты на x64 шестом дотнете, все ссылки с шарплаба тоже настроены x64, хоть там пятый, разницы это не дало (в коде бенчмарка я закомментил аттрибут DisassemblyDiagnoser, с которым вы можете посмотреть именно тот асм, который гоняет бенчмарк)
Кстати, интересно то, что если поставить Default на шарплабе, т. е. 32-битный рантайм, то мы в последнем эксперименте получили бы:
Так что... используйте 64 бита! :)
А еще можно попробовать включить Dynamic PGO, запустив бенчмарк так:
Но у меня получились те же результаты, что и в статье, так что я решил оставить это в комментарии.
А сейчас как? Я не так давно здесь, но меня тоже пригласил участник
Окей, водянистое вступление прочитал, а где статья?
Во-первых это, конечно, есть в документации. Во-вторых, синтаксис валуетуплов это сахар
Да, это фича начиная с шестого дотнета (возможно в седьмом превью уже есть, не помню)
А еще не забываем про класс NativeMemory, который, как несложно догадаться, аллоцирует именно нативно (в частности, можем аллоцировать выровненную (aligned) память с помощью
NativeMemory.AllocAligned
)Это единственное, чем он связан. Это не среда разработки, а текстовый редактор, развиваемый коммьюнити. А то может при случае на винду пожаловаться? Или гитхаб? Владелец-то тот же.
Вот бы они отключили локализацию нахрен. Тогда прям уважение будет
А, неправильно прочитал. Понял, спасибо
То, что Xamarin бегает на Моно — я вижу. А есть где подтверждение о том, что MAUI на Mono?
Так мы по сути так и сделали, что вы имеете ввиду?
Settings -> Pages, там будет секция Custom domain, там указываете свой. А в настройках домена нужно создать запись, которая баиндит ваш домен к ip yourusername.github.io. Кстати с кастомным доменом не нужен будет тот костыль с заменой '/'
Да, не хостинг не имеет значения, именно поэтому статья о github pages, очень удобном хостинге для подобных задач. Можно буквально наделать себе программок на все случаи жизни).
О да, этого не хватает. Могут завести к седьмому или восьмому дотнету. Жду. Я хоть и не вебдев, и не особо люблю, но признаю, клепать проженьки для себя и других настолько легко приятно даже мне. Тем более, что если что, можно взять домен (купить или даже добыть бесплатно) и повесить на github pages.
Я на vs22 таргетю на ns2.0
Нет! Наследование не для этого, оно нужно для бранчинга. Я искренне не понимаю, откуда вообще взялось это Композиция против Наследования, это вообще разные вещи. Переиспользование и модульность — это к композиции, а абстракции и бранчинг — наследование, вообще НЕ пересекающиеся вещи.
Подтверждаю. Ранаем код автора
Аутпут:
Если я нигде не ошибся, статья — мусор, даже непонятно, какую причину для минуса выбирать.
Еще почему-то эта статья на хабре конченно работает. На опере вообще не загружается, а на файрфоксе ооочень медленно работает. Странно.
Делал через матрицы. Мое исполнение:
https://dotnetfiddle.net/CiBDN0
Ну а посчитай десятимиллионное число. Или стамиллионное. Будешь вечность ждать