Попробовал на днях F#.
Для начала, о том, что меня поразило больше всего, так это смысловая красота языка) Прикольно до ужаса. Но за все надо платить.
Мне кто-то говорил, что MSIL генерируется F# лучше, чем С#. Но компиллятор, представляющий из себя тупую относительно человека программу, которая, к тому же, занимается дополнительным вычислением
(
Read more... )
Comments 12
Причем наблюдается следующее для F# - сначала выводится время и "results: " (заголовок вывода), потом он думает, (дохуя) и выдает результат. В C# же результат выдается сразу же.
Компилер, кстати, должен понимать, где этот кортеж нужен, а где нет. Ну это в перспективе. А его можно как нибудь исключить, а то не доставляет столько производительности тратить на то что не нужно? Я всего то массив чисел хотел :-[
Комп гавно, да. Держит файрфокс, две VS2010, и IIS+MSSQL+ASP. Больше пока не надо. Мне не в игрушки резаться, а работать. Один икс, все что я пишу, обычно передается в другой отдел/другим людям, у кого 4 ядра, 4 гига, и три яйца =)
Reply
(The comment has been removed)
Я думал в F# лист используется в коде выше :-[ Или некая подобная конструкция.
Компиллятор должен был предусмотреть, что мне это может не понадобиться, и не навешивать мне разной херни впридачу) Хотя может, я не по адресу пришел с такой задачей.
А там, что, в C# коде, не цикл?) Или ты имел в виду F#?
Reply
(The comment has been removed)
(The comment has been removed)
Reply
1. Использовать Datetime для измерения «производительности» как минимум странно, лучше воспользоваться System.Diagnostics.Stopwatch.
2. Генерация массива вместо списка даст прирост раза в два. Впрочем, раз в обоих программах список, то оставим списки.
3. Узкое место в программе - это генерация списка. Работает он, пока, медленно. Используя все тот же цикл и List.append, программа будет выполняться в 5-6 раз быстрее.
4. Раз уж F# язык функциональный, наверно, стоит использовать его функциональные возможности.
5. Задача, как минимум, нетривиальна для реального мира. Стоит пощупать другие возможности этого языка.
Reply
Пощупать, определенно, стоит))) Чем я и займусь в выходные...)
А что такого нетривиального в этой задаче? По моему, она очень простая)
Reply
Leave a comment