Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Вопрос: Стоит ли переходить на .NET?
Добавлено: 29.07.07 05:02
Автор вопроса: программист
Ответы
Всего ответов: 95
Номер ответа: 16
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #16
Добавлено: 29.07.07 23:26
ЗЫ: ага, по АПИ вб6 уже немножко даже подошла к вб.нет, но и здесь она уступает:
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function LineTo Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function MoveToEx Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByRef lpPoint As Long) As Long
Private Sub Command1_Click()
Dim i2 As Long
Dim j As Long
j = GetTickCount
For i2 = 1 To 100000
MoveToEx hdc, 0, 0, 0
LineTo hdc, 100, 100
Next
MsgBox GetTickCount - j
End Sub
ВБ2005:
Private Declare Function GetTickCount Lib "kernel32" () As Integer
Private Declare Function LineTo Lib "gdi32.dll" (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer) As Integer
Private Declare Function MoveToEx Lib "gdi32.dll" (ByVal hdc As Integer, ByVal x As Integer, ByVal y As Integer, ByRef lpPoint As Integer) As Integer
Private Declare Function GetWindowDC Lib "user32" Alias "GetWindowDC" (ByVal hwnd As Integer) As Integer
Private Structure POINTAPI
Dim x As Integer
Dim y As Integer
End Structure
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Pt As POINTAPI
pt.x = 0 : pt.y = 0
Dim i2 As Integer
Dim j As Integer
j = GetTickCount
Dim HDC As Integer = GetWindowDC(CInt(Me.Handle))
For i2 = 1 To 100000
MoveToEx(HDC, Pt.x, Pt.y, 0)
LineTo(HDC, 100, 100)
Next i2
MsgBox(CType((GetTickCount - j), String))
End Sub
End Class
но и здесь .НЕТ впереди, такова справедливость... надеюсь после этого топика, никто его больше не назовет тормазнутым
Для справедливости, С++ без АПИ - выбивает 94мс.
Поведем итоги:
без АПИ АПИ:
С++ 94 78
VB.NET 219 109
VB6 375 125
Делайте выводы
ЗЫ:
кто что добавит? Будет интересно посмотреть на ПБ, обгонит ли он С++ со своими асмоциклами
и на пхп =D
Номер ответа: 17
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #17
Добавлено: 30.07.07 00:10
Такие результаты скорее всего это из-за устаревшей MSVBVM60 =( Но она куда как меньше Framework
В данном случае не очень-то они помогли. Просто хотел максимум выжать.
Вывод: круче - C++
PS
Грядут времена, когда программеры поделятся на высокоуровневых и низкоуровневых. И те, и другие перестанут понимать друг друга.
Номер ответа: 18
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #18
Добавлено: 30.07.07 00:23
VB6: 24,094 сек
PB: 14,578 сек
Считайте относительно: PB на 60,5% мыстрее чем VB6
VB.NET: А у меня фреймворк навернулся. =P Инсталляха - дома. Минус ему. Точнее студии, наверное...
Номер ответа: 19
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #19
Добавлено: 30.07.07 00:59
Блин, глаз опечатка мозолит: Считайте относительно: PB на 39,5% быстрее чем VB6
Номер ответа: 20
Автор ответа:
программист
Вопросов: 1
Ответов: 4
Профиль | | #20
Добавлено: 30.07.07 02:18
Весьма убедительные доводы. Книги есть, так что буду переползать (времени свободного практически .НЕТ)
Номер ответа: 21
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #21
Добавлено: 30.07.07 02:35
VB.NET - 219мс
С++ согласен.
VB.NET промерно 7000!
Что я делаю не так?
При 1000 000
С++ 700 - 800 (intel). Borland отстал (1200-1300).
VB ждать не стал.
Номер ответа: 22
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #22
Добавлено: 30.07.07 06:32
Ссылку в студию где такое пишут!
Сейчас LinQ ставится на Visual Studio 2005 но этот билд LinQ не обновлялся уже больше года, что заставляет засомневаться в том что будет релизный LinQ-пак на Visual Studio 2005.
Ждать ничего не нужно - просто берешь и качаешь Visual Studio 2008 Beta 2 и все у тебя будет.
Лицензия Go-Live и некоторое ограничение по времени использования (по опыту предыдущих студий - в мае следующего года может перестать работать). Я бы рекомендовал сразу садиться за 2008-ю версию. Отличия есть и местами существенные.
Вах вах вах. Зачем на кофейной гуще гадать тем более уже давно известно какие фичи уже введены в VB 9.0?
Вот здесь читать:
http://msdn2.microsoft.com/en-us/library/ms364068(vs.80).aspx
Сделали даже lamba-выражения (правда синтаксис немного грубее чем в C# 3.0, но и за это спасибо).
Переходить на VB .NET только потому что она на 5 милисекунд выполняет синтетический тест быстрее чем VB6 - глупость, преимущества .NET никак не в том что он обгоняет/не обгоняет какую-то другую среду.
Это новая парадигма, новая концепция, новый подход к программированию. При чем тут эти милисекунды?
Номер ответа: 23
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #23
Добавлено: 30.07.07 07:18
О чем ты? О виртуальной машине, о ООП или о чем -то еще?
Java (котроая сан, а не #) все это уже давно имеет и выдает примерно 300 на 100 000.
long j = System.currentTimeMillis();
for (int i=1; i < 100000 ;i++)
{
g.drawLine(0,0,100,100);
}
long j1 = System.currentTimeMillis();
long j2 =j1-j;
String t = Long.toString(j2);
jTextField1.setText(t);
}
Номер ответа: 24
Автор ответа:
VisualPaul
ICQ: 402519798
Вопросов: 12
Ответов: 111
Профиль | | #24
Добавлено: 30.07.07 09:54
A:__fastcall убери. Он только в Borland C++ Bulder
B:+1
C:
Номер ответа: 25
Автор ответа:
VisualPaul
ICQ: 402519798
Вопросов: 12
Ответов: 111
Профиль | | #25
Добавлено: 30.07.07 10:00
Это я к 1 странице
Номер ответа: 26
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #26
Добавлено: 30.07.07 17:33
vito
Что я делаю не так?
Brand
Прочитал статью..., ну кое-где новый синтаксис, With c фигупными скобками, появился where, from etc - при хорошем знании ВБ2005 все эти "отличия" можно изучить за 3 часа, что в них значительного для изучения?
Номер ответа: 27
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #27
Добавлено: 30.07.07 17:42
where, from etc (точнее это называется LinQ) - это можно сказать самое крутое нововведение
Вцелом количество нововведений в VB 2008 гораздо больше чем было в VB 2005 (имеется в виду синтаксис).
С чего бы это вдруг?
Дык... молился...
Номер ответа: 28
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #28
Добавлено: 30.07.07 18:17
И еще: компилить надо Ctrl + F5, иначе - резутат будет в десять раз больше
при 1000000:
Borland С++ Builder (2002) - 1015мс.
VB6 - 3860мс.
VB2005 - 2734мс.
Номер ответа: 29
Автор ответа:
программист
Вопросов: 1
Ответов: 4
Профиль | | #29
Добавлено: 30.07.07 18:49
Короче есть такие мне известные версии:
VB.NET (VS 2003)
VB.NET - 2005
VB.NET - 2008
и еще одна VB 9.0 (версию студии не знаю)
Какие между ними отличаи, на сколько существенны и, самое главное, - на кой Хъ. их так много расплодилось!
Номер ответа: 30
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #30
Добавлено: 30.07.07 18:52
-АлександР-
Проц у меня 3000 64 AND.
Чтоб мессага три раза не выскакивала подправь код.
Dim Start As Integer = System.Environment.TickCount
For i As Integer = 1 To 100000
e.Graphics.DrawLine(Pens.Plum, 0, 0, 100, 100)
Next i
h = False
MsgBox(Convert.ToString(System.Environment.TickCount - Start))
Условие на истину поставь до мессаги.
Увы у меня все равно примерно 7000?