View Issue Details

IDProjectCategoryView StatusLast Update
0002364WishesPlugins APIpublic2013-04-09 15:47
Reportershmuel Assigned Toalexy  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformx86OSWindowsOS VersionXP SP3
Product Version3.0 
Target Version3.0Fixed in Version3.0 
Summary0002364: Асинхронная запись в базу данных
DescriptionВ билде 3307 сделана асинхронная запись истории в базу. Но запись с
использованием API (SCTL_XXX) остаётся синхронной.

Измерения показывают, что операция SCTL_FREE длится порядка 100ms, иногда и
150ms. Это уже заметно "на глаз" при закрытии диалога плагина. Например, плагин
поиска в редакторе: пользователь нажимает Enter в диалоге, сам поиск может
занимать 1ms, а впечатление, что он продолжался 100-150ms.

Нельзя ли сделать операцию SCTL_FREE асинхронной?
TagsNo tags attached.
Build3313

Activities

shmuel

2013-04-09 08:21

developer   bugnote:0010691

Надо, однако, чтобы после асинхронной операции записи в базу операция чтения *сразу* правильно работала. Возможно это так и будет, но не уверен.

alexy

2013-04-09 08:29

administrator   bugnote:0010692

сразу это как? чтение будет ждать пока асинхронная запись закончится.

shmuel

2013-04-09 08:32

developer   bugnote:0010693

Пусть ждёт, лишь бы результат правильный был.

alexy

2013-04-09 08:40

administrator   bugnote:0010694

само собой

alexy

2013-04-09 13:59

administrator   bugnote:0010698

3311

shmuel

2013-04-09 14:22

developer   bugnote:0010699

Вроде всё красиво (хотя изменение серьёзное, время покажет).

shmuel

2013-04-09 14:29

developer   bugnote:0010700

Иногда Фар зависает при выходе.

shmuel

2013-04-09 14:48

developer   bugnote:0010701

Зависает при выходе по F10, даже запущенный без плагинов. Зависает один раз на 3-5 запусков.

alexy

2013-04-09 15:02

administrator   bugnote:0010702

3313

alexy

2013-04-09 15:02

administrator   bugnote:0010703

Главное, теперь задержку на глаз не видно?

shmuel

2013-04-09 15:24

developer   bugnote:0010704

Ну да. Вот можно испытать: сделай файл test.lua

local t1,t2,t3,t4
t1=os.clock()
mf.msave("baba","sara",786)
t2=os.clock()
assert(mf.mload("baba","sara")==786)
t3=os.clock()
mf.mdelete("baba","*")
t4=os.clock()
far.Show(t2-t1,t3-t2,t4-t3)

Запусти lm:post @<path>\test.lua
Времена правильные для асинхронной записи.

Issue History

Date Modified Username Field Change
2013-04-09 07:53 shmuel New Issue
2013-04-09 07:53 shmuel Status new => assigned
2013-04-09 07:53 shmuel Assigned To => alexy
2013-04-09 08:21 shmuel Note Added: 0010691
2013-04-09 08:29 alexy Note Added: 0010692
2013-04-09 08:32 shmuel Note Added: 0010693
2013-04-09 08:40 alexy Note Added: 0010694
2013-04-09 13:59 alexy Note Added: 0010698
2013-04-09 13:59 alexy Status assigned => feedback
2013-04-09 14:22 shmuel Note Added: 0010699
2013-04-09 14:22 shmuel Status feedback => assigned
2013-04-09 14:22 shmuel Status assigned => resolved
2013-04-09 14:29 shmuel Note Added: 0010700
2013-04-09 14:30 shmuel Status resolved => assigned
2013-04-09 14:48 shmuel Note Added: 0010701
2013-04-09 15:02 alexy Note Added: 0010702
2013-04-09 15:02 alexy Status assigned => feedback
2013-04-09 15:02 alexy Note Added: 0010703
2013-04-09 15:24 shmuel Note Added: 0010704
2013-04-09 15:24 shmuel Status feedback => assigned
2013-04-09 15:24 shmuel Status assigned => resolved
2013-04-09 15:47 alexy Build => 3313
2013-04-09 15:47 alexy Status resolved => closed
2013-04-09 15:47 alexy Resolution open => fixed
2013-04-09 15:47 alexy Fixed in Version => 3.0