[1.7.10] RedPower2 Port

2,955
12
Ну смотри, как писали выше, тот же FIND можно на порядок ускорить. И не удивительно, что сервер таким не положишь. А текущие компы на Луа гораздо легче и мощнее, чем Рпшные, да и так же не лагают. И не надо про фреймы, пожалуйста. Они в РП всегда лагали после их введения. Против РП ничего не имею, но сейчас проект ред + ОпенКомпутерс его полностью заменяют.
 
76
1
44
Компы в редпауере совсем для других целей, поэтому им и не нужен супербыстрый интерпритатор. А фреймы недавно со знакомым тестил на локальном сервере, и никаких лагов не заметил (хотя стоит побольше построить и проверить)
 
608
5
15
Глянул код рп, не знаю как по производительности, но на вид, он мне куда больше нравится чем в мультипарте.
 
76
1
44
Наконец-то хоть кто-то это понял
[merge_posts_bbcode]Добавлено: 22.03.2016 14:20:00[/merge_posts_bbcode]

Что-то я заморочился с рендером моделек с кастомными текстурами, бред какой-то происходит там
 
2,955
12
Как вы вообще можете судить о красоте кода в мультипарте, не зная при этом Scala?
 
471
5
Dragon2488 написал(а):
Ну смотри, как писали выше, тот же FIND можно на порядок ускорить. И не удивительно, что сервер таким не положишь. А текущие компы на Луа гораздо легче и мощнее, чем Рпшные, да и так же не лагают. И не надо про фреймы, пожалуйста. Они в РП всегда лагали после их введения. Против РП ничего не имею, но сейчас проект ред + ОпенКомпутерс его полностью заменяют.

Что-то я не заметил в ProjectRed всяких механизмов на блустрической энергии....
 
1,990
18
105
>скала
зачем она нужна, когда есть котлин?
люблю разводить срачики
( ͡° ͜ʖ ͡°)
 
76
1
44
Плюсую мне тоже нравится котлин, но рефлексия там ужасно сырая(
[merge_posts_bbcode]Добавлено: 22.03.2016 22:58:23[/merge_posts_bbcode]

Drovosek написал(а):
Dragon2488 написал(а):
Ну смотри, как писали выше, тот же FIND можно на порядок ускорить. И не удивительно, что сервер таким не положишь. А текущие компы на Луа гораздо легче и мощнее, чем Рпшные, да и так же не лагают. И не надо про фреймы, пожалуйста. Они в РП всегда лагали после их введения. Против РП ничего не имею, но сейчас проект ред + ОпенКомпутерс его полностью заменяют.

Что-то я не заметил в ProjectRed всяких механизмов на блустрической энергии....
Наверняка автор мода уже пыхтит над реализацией всего этого на scala и уже в скором времени хомячки увидят блютричество в ProjectRed (наверняка там будет что-то вроде цветных деревьев или в этом роде)
 
398
4
7
Я не говорил, что эмулятор процессора в РП плохой, наоборот его быстродействие оптимально. Но компы сильно тормозят при вводе программы, причем так, что набирать программы становится очень неудобно. Приходится до нескольких секунд ждать после нажатия enter.
Почему? А потому что словарь форта (в MineOS) это простой связный список, и когда игрок вводит команды, они все ищутся в словаре этим куском кода (слово FIND):
Код:
// кусок дизассемблированного кода
        ENT
        !word VOCAB
        !word @
find1
        !word DUP
        !word (?branch)
        !word find5
        !word 2DUP
        !word >NAME
        !word STRCMP
        !word 0=
        !word OVER
        !word (lit)
        !word $0003
        !word minus
        !word C@
        !word (lit)
        !word $0002
        !word AND
        !word 0=
        !word AND
        !word (?branch)
        !word find4
        !word TRUE
        !word (branch)
        !word find3
find4
        !word CELL
        !word minus
        !word @
        !word FALSE
find3
        !word (branch)
        !word find2
find5
        !word TRUE
find2
        !word (?branch)
        !word find1
        !word NIP
        !word EXIT

Как видно, оно полностью состоит из вызовов других слов. Вызов каждого слова занимает много тактов эмулируемого процессора, при этом большинство этих слов можно заменить парой ассемблерных инструкций.
Можно переписать это на ассемблере без использования шитого кода (т.е. вызовов других слов), скорость ввода возрастет многократно. Я как-то переписал это, исходника не сохранилось, но скомпилированный патч я привел выше.
Не могу ничего сказать о качестве кода РП, поскольку я не программист и слабо в этом разбираюсь. В коде РП я смотрел только код относящийся к компам, ничего сильно ужасного я не заметил, хотя кое-что можно было бы оптимизировать.
Но код MineOS местами очень плохой.

О редпавере у меня остались очень хорошие воспоминания, но я сомневаюсь стоит ли его реанимировать сейчас.
 
398
4
7
Втыкаю этот код скорее всего тут только я. Это код для процессора который эмулируется в компах РП (65EL02). С джавой это никак не связано.
Первый кусок кода - патч, набирается прямо в редпаверском компе. Второй - часть дизассемблированного кода MineOS.

Ассемблер и описание команд процессора 65EL02 Элораам выкладывала http://www.eloraam.com/nonwp/redcpu.php
Дизассемблированный код MineOS http://pastebin.com/anAhPJCK
Проверить мой патч не запуская редпавер можно в эмуляторе http://bigfootinformatika.hu/65el02/
 
2,955
12
Ох уж эти ваши Котлины. В Котлинах трейтов нет, например. Да и что вы так приелись к Скале? Скалокод тоже может быть красивым. На бекграунде хохочет конь.
 
1,990
18
105
Дракош, не сливался бы ты тут со своей пропагандой скалы. Никто кроме тебя её не юзает.
 
2,955
12
И да, топикстартер. Проджект ред не на скале, если ты не знал. И блутричество там уже тоже запилено, как и фреймы, и очень даже годно. Прекращай бросать неподтвержденную информацию и научись пользоваться поиском.
 
1,239
2
24
Да нормальная эта скала,че вы прикопались,свое пишите если чужое не нравится
 
1,137
5
3
Код:
import scala.io._
import scala.util.parsing.json._
import java.net._

object Twitsearch {
  def main(args: Array[String]) {
    if(args.isEmpty) {
      println("Usage: twitsearch <query>")
      return
    }
    val query = URLEncoder.encode(args(0), "UTF-8")
    val url = "http://search.twitter.com/search.json?q=" + query
    val data = Source.fromURL(url).mkString

    JSON.parseFull(data) match {
      case None =>
        println("Failed to parse JSON")
      case Some(j) =>
        val json =j.asInstanceOf[Map[String,List[Map[String,_]]]]
        json("results").map(x => x("text")).foreach(println)
    }
  }
}
Очень понятно, хирург. Хотя я уверен, что ты и не знаешь о пакете java.net
 
Сверху