Показать сообщение отдельно
Старый 18.11.2016, 12:36   #14
DarkInside
Разработчик
 
Аватар для DarkInside
 
Регистрация: 08.08.2011
Сообщений: 505
Написано 191 полезных сообщений
(для 369 пользователей)
Ответ: Быстрая работа со строками

Щозанах Сегодня запускаю похожий код, результаты совсем другие:

Blitz3D - 1 мс
FreeBasic - 2140 мс
PureBasic - 19 мс

Импер, объясни поподробнее, как правильно писать код то? Или где об этом почитать? 3000 символов - не такая же большая строка, 1-2 страницы А4.

Код:

Blitz3D:
For i = 1 To 3000
	d$ = d$ + "a"
Next

TimerStart = MilliSecs()

For i = 1 To 3000
	k$ = Left(d$, i)
Next

tend = MilliSecs() - TimerStart

Print tend
WaitKey()
FreeBasic:
Dim d As String
Dim k As String
Dim tend As Double

For i As Integer = 0  To 3000
	d = d + "a"
Next
  
Dim TimerStart As Double = Timer()

For i As Integer = 0 To 3000
   k = Left(d, i)
Next

tend = Timer() - TimerStart

Print tend
Sleep
PureBasic:
st.s = ""
sl.s = ""

For i = 0 To 3000
    st.s = st.s + "a"
 Next
  
  t = ElapsedMilliseconds()

For i = 0 To 3000
    sl.s = Left(st.s, i)
Next
  
tend = ElapsedMilliseconds() - t

If OpenConsole() 
  PrintN(Str(tend))
  Input()
EndIf


UPD: Перезагрузил комп, FB - 0,8 мс.

Последний раз редактировалось DarkInside, 18.11.2016 в 19:08.
(Offline)
 
Ответить с цитированием