ПроектыФорумУтилиты

Высокоуровневая библиотека CrystalLUA. Delphi + Lua (4 стр)

Страницы: 13 4 5 615 Следующая »
#45
9:52, 23 сен 2012

DevilDevil
А какая помощь нужна?

#46
11:42, 23 сен 2012

R1mush

стучись в аську
в зависимости от того что умеешь и что интересно

#47
20:31, 21 окт 2012

Как и обещал, середина октября наступила
Старт работы над новой версией CrystalLUA начался
Рабочие руки по прежнему нужны. Так что если есть желание поучаствовать в проекте - контакты даны

Это будет нечто :)

#48
1:42, 13 дек 2012

ковыряюсь с библиотекой, решил изучить как передаются массивы из Lua в нативную прогу и обратно.
зарегистрировал свой тип - динамический массив строк. создал в скрипте этот массив. передаю его в прогу, но приезжает указатель, а как обратиться к элементам массива? Приводить тип из поля DATA? В хелпе этот вопрос упущен оказался.
Второй вопрос - я хочу сделать анализатор строк в массиве, который считывает хост, строк не так и много - всего десятка полтора за один раз (это типа конфиг), но их надо обрабатывать и изменять очень много раз... межет миллион, а может и 100 миллионов, поэтому очень важна скорость - как лучше всего сделать доступ к данным? Сделать свой класс, чтобы разбирать большую часть на хосте, а логику управления вынести в скрипт. Тягать туда-сюда массив или таблицу и обрабатывать целиком в скрипте? Что более затратно по времени?
Просто результат обработки данных в скрипте мне надо сохранить обратно, т.е. данные должны постоянно модифицироваться и сохраняться.

#49
5:10, 21 дек 2012

Как успехи с unicode версией ?

#50
9:29, 21 дек 2012

Всем привет. DevilDevil сейчас забанен до 27 декабря (по собственному желанию чтобы не отвлекаться от работы), поэтому сейчас не может ответить, попросил меня написать это сообщение. По всем вопросам можете писать ему в icq.

На данный момент активно ведутся работы по следующим направлениям:
- Unicode
- оптимизация производительности
- локализация и детализация ошибок

В январе планируется релизнуть бета версию обновлений с дублированием текущего функционала. Но работы ещё много, очень нужны профессиональные руки для помощи проекту. Не нужно разбираться в дебрях CrystalLUA, необходима проработка технологий на стороне. А интеграцией их в CrystalLUA будет заниматься DevilDevil. В общем опять таки пишите ему в icq.

#51
9:35, 27 дек 2012

я вышел, ещё раз спасибо Vga


grumbler1
> зарегистрировал свой тип - динамический массив строк. создал в скрипте этот
> массив. передаю его в прогу, но приезжает указатель, а как обратиться к
> элементам массива? Приводить тип из поля DATA? В хелпе этот вопрос упущен
> оказался.

должно работать так

type
  TMyStrings = array of string;
  PMyStrings = ^TMyStrings;

procedure ProcessMyStrings(var MyString: TMyStrings);
begin
  // здесь твой код
end;

procedure luaProcessMyStrings(const Arg: TLuaArg);
var
  Arr: PMyStrings;
begin
  Arr := Arg.AsArray.Data;
  ProcessMyStrings(Arr^);
end;
#52
18:41, 7 янв 2013

столкнулся с чем-то непонятным. работаю в скрипте луа с таблицей, именованные поля. Примерно до 10000 элементов таблица работает на ура, затем начинаются тормоза и уже к 20000 элементов тормоза идут жуткие. Условно вставка 22000 занимает более 200 секунд. Переделал полностью на индексный режим (отказался от именованных полей) - 22000 элементов вставляются за пару секунд... Странно то, что до 10000 работа идет достаточно шустро, а затем резко падает скорость. Может есть какая-то фишка, влияющая на скорость? куда копать хоть? или копать бесполезно?

#53
9:55, 9 янв 2013

grumbler1

ну во-первых, ты должен понимать, что работа со строками - долгая вещь. Работа со строками в Lua ещё дольше, потому для каждой строки дополнительно находится хеш-код и происходит сравнение с другими строками, чтобы избежать дублирования одинаковых строк. Во-вторых, я не думаю, что Lua рассчитан на такое количество уникальных идентификаторов. Ты мог упереться в большое количество хеш-коллизий или какие-то проблемы с перевыделением пула памяти, может быть чистка мусора.

в общем я бы посоветовал реализовать такую специфическую работу с данными на нативной стороне. или если есть возможность - конечно использовать индексы

по большому счёту я как программист силён в оптимизациях. То есть я мог бы тебе помочь в твоей задаче. Но. Во-первых, это нужно решать через личку (или icq). Во-вторых, я не сделаю это бесплатно. Либо за плату, либо за существенный вклад в развитие библиотеки

#54
18:00, 15 янв 2013

А скоро ли будет бета версия с поддержкой Unicode ?

#55
18:09, 15 янв 2013

AndrewFord

хотел в конце январе. Сроки сдвигаются на февраль-март
я слишком много времени трачу на поиски сторонних сил. Присоединяйся. Icq обозначен на первой странице

#56
22:15, 27 янв 2013

DevilDevil, спасибо за предложение. как я уже писал - задачу решил переходом на индексы, тормоза же было интересно было вычислить из академического интереса. Опять же просто интересно, как игры типа сталкера умудряются рулить большим количеством объектов на стороне ЛУА, если такие тормоза со строками уже на 20000...

#57
1:15, 28 янв 2013

grumbler1

очень просто
они не обрабатывают такое огромное количество строк

#58
2:20, 14 фев 2013

столкнулся с непонятным
передаю в хост строку
return "\n"
в хосте получаю один символ $#0a, $#0d куда-то потерялся.
Передаю
return "1\n"
в хосте получаю два символа '1'$#0a, $#0d куда-то снова потерялся.

Сохраняю эту же строку в файл myfile.write("\n") - все ок, два байта CR LF, как и положено.

в чем прикол может быть, никто не сталкивался?

#59
2:42, 14 фев 2013

передавай еще и \r если так нужен возврат коретки.

Страницы: 13 4 5 615 Следующая »
ПроектыФорумУтилиты

Тема в архиве.