@@ -232,13 +232,13 @@ msgid "Get the system time in microseconds"
232
232
msgstr "Получение системного времени в микросекундах"
233
233
234
234
msgid ":ref:`fiber.clock() <fiber-clock>`"
235
- msgstr ""
235
+ msgstr ":ref:`fiber.clock() <fiber-clock>` "
236
236
237
237
msgid "Get the monotonic time in seconds"
238
238
msgstr "Получение монотонного времени в секундах"
239
239
240
240
msgid ":ref:`fiber.clock64() <fiber-clock64>`"
241
- msgstr ""
241
+ msgstr ":ref:`fiber.clock64() <fiber-clock64>` "
242
242
243
243
msgid "Get the monotonic time in microseconds"
244
244
msgstr "Получение монотонного времени в микросекундах"
@@ -250,10 +250,12 @@ msgid "Check if the current fiber has been cancelled"
250
250
msgstr "Проверка отмены действующего файбера"
251
251
252
252
msgid ":ref:`fiber.top() <fiber-top>`"
253
- msgstr ""
253
+ msgstr ":ref:`fiber.top() <fiber-top>` "
254
254
255
255
msgid "Return a table of alive fibers and show their CPU consumption"
256
256
msgstr ""
257
+ "Возврат таблицы с активными файберами и отображение статистики "
258
+ "потребления ресурсов ЦП"
257
259
258
260
msgid ":ref:`fiber.yield() <fiber-yield>`"
259
261
msgstr ":ref:`fiber.yield() <fiber-yield>`"
@@ -412,6 +414,20 @@ msgid ""
412
414
"---\n"
413
415
"..."
414
416
msgstr ""
417
+ "tarantool> fiber = require('fiber')\n"
418
+ "---\n"
419
+ "...\n"
420
+ "tarantool> function function_name()\n"
421
+ " > print(\" I'm a fiber\" )\n"
422
+ " > end\n"
423
+ "---\n"
424
+ "...\n"
425
+ "tarantool> fiber_object = fiber.create(function_name); print(\" Fiber "
426
+ "started\" )\n"
427
+ "I'm a fiber\n"
428
+ "Fiber started\n"
429
+ "---\n"
430
+ "..."
415
431
416
432
msgid ""
417
433
"Create but do not start a fiber: the fiber is created but does not begin "
@@ -455,6 +471,22 @@ msgid ""
455
471
"---\n"
456
472
"..."
457
473
msgstr ""
474
+ "tarantool> fiber = require('fiber')\n"
475
+ "---\n"
476
+ "...\n"
477
+ "tarantool> function function_name()\n"
478
+ " > print(\" I'm a fiber\" )\n"
479
+ " > end\n"
480
+ "---\n"
481
+ "...\n"
482
+ "tarantool> fiber_object = fiber.new(function_name); print(\" Fiber not "
483
+ "started yet\" )\n"
484
+ "Fiber not started yet\n"
485
+ "---\n"
486
+ "...\n"
487
+ "tarantool> I'm a fiber\n"
488
+ "---\n"
489
+ "..."
458
490
459
491
msgid "fiber object for the currently scheduled fiber."
460
492
msgstr "объект файбера для запланированного на данный момент файбера."
@@ -602,39 +634,52 @@ msgstr ""
602
634
"..."
603
635
604
636
msgid "Show all alive fibers and their CPU consumption."
605
- msgstr ""
637
+ msgstr "Отображение всех активных файберов и потребляемых ими ресурсов ЦП. "
606
638
607
639
msgid "a table with two entries: ``cpu`` and ``cpu_misses``"
608
- msgstr ""
640
+ msgstr "таблица с двумя записями:``cpu`` и ``cpu_misses`` "
609
641
610
642
msgid ""
611
643
"``cpu`` itself is a table whose keys are strings containing fiber ids and"
612
644
" names. The three metrics available for each fiber are:"
613
645
msgstr ""
646
+ "``cpu`` это ещё одна таблица, в которой ключами являются строки с ID и "
647
+ "именами файберов. Для каждого файбера доступны 3 метрики:"
614
648
615
649
msgid ""
616
650
"``instant`` (in per cent), which indicates the share of time the fiber "
617
651
"was executing during the previous event loop iteration."
618
652
msgstr ""
653
+ "``instant`` (в процентах) показывает долю времени выполнения файбера во "
654
+ "время предыдущей итерации цикла событий."
619
655
620
656
msgid ""
621
657
"``average`` (in per cent), which is calculated as an exponential moving "
622
658
"average of instant values over all the previous event loop iterations."
623
659
msgstr ""
660
+ "``average`` (в процентах) рассчитывается как экспоненциальное скользящее "
661
+ "среднее мгновенных значений по всем предыдущим итерациям цикла событий."
624
662
625
663
msgid ""
626
664
"``time`` (in seconds), which estimates how much CPU time each fiber spent"
627
665
" processing during its lifetime."
628
666
msgstr ""
667
+ "``time`` (в секундах) определяет процессорное время, потраченное на "
668
+ "обработку каждого файбера за время его существования."
629
669
630
670
msgid ""
631
671
"The ``time`` entry is also added to each fiber's output in "
632
672
"``fiber.info()`` (it duplicates the ``time`` entry from "
633
673
"``fiber.top().cpu`` per fiber)."
634
674
msgstr ""
675
+ "Запись ``time`` также добавляется к выводу информации о файбере с помощью"
676
+ " ``fiber.info()`` (дублируется запись ``time`` из ``fiber.top().cpu`` для"
677
+ " каждого файбера)."
635
678
636
679
msgid "Note that ``time`` is only counted while ``fiber.top()`` is enabled."
637
680
msgstr ""
681
+ "Обратите внимание, что подсчет ``time`` ведется, только если активна "
682
+ "функция ``fiber.top()``."
638
683
639
684
msgid ""
640
685
"``cpu_misses`` indicates the number of times the TX thread detected it "
@@ -648,9 +693,20 @@ msgid ""
648
693
"the precision of our computations, so the bigger ``cpu misses`` value the"
649
694
" lower the precision of ``fiber.top()`` results."
650
695
msgstr ""
696
+ "``cpu_misses`` показывает число раз, когда поток TX регистрировал перенос"
697
+ " файбера на другое ядро процессора во время последней итерации цикла "
698
+ "обработки событий. ``fiber.top()`` использует счетчик меток времени для "
699
+ "измерения времени выполнения каждого файбера. Однако в разных ядрах могут"
700
+ " быть разные значения счетчика, поэтому полагаться на разность показаний "
701
+ "счетчика можно только в том случае, если оба измерения были проведены на "
702
+ "одном и том же ядре; в противном случае разность показаний может даже "
703
+ "быть отрицательной. Когда поток TX переносится на другое ядро процессора,"
704
+ " Tarantool просто предполагает, что разность показаний была нулевой для "
705
+ "последнего измерения. Это снижает точность вычислений, поэтому больше "
706
+ "значение ``cpu misses``, тем ниже точность результатов ``fiber.top()``."
651
707
652
708
msgid "Let's take a look at the example:"
653
- msgstr ""
709
+ msgstr "Возьмем такой пример: "
654
710
655
711
msgid "**Example**"
656
712
msgstr "**Пример:**"
@@ -694,12 +750,53 @@ msgid ""
694
750
" cpu_misses: 0\n"
695
751
"..."
696
752
msgstr ""
753
+ "tarantool> fiber.top()\n"
754
+ "---\n"
755
+ "- cpu:\n"
756
+ " 107/lua:\n"
757
+ " instant: 30.967324490456\n"
758
+ " time: 0.351821993\n"
759
+ " average: 25.582738345233\n"
760
+ " 104/lua:\n"
761
+ " instant: 9.6473633128437\n"
762
+ " time: 0.110869897\n"
763
+ " average: 7.9693406131877\n"
764
+ " 101/on_shutdown:\n"
765
+ " instant: 0\n"
766
+ " time: 0\n"
767
+ " average: 0\n"
768
+ " 103/lua:\n"
769
+ " instant: 9.8026528631511\n"
770
+ " time: 0.112641118\n"
771
+ " average: 18.138387232255\n"
772
+ " 106/lua:\n"
773
+ " instant: 20.071174377224\n"
774
+ " time: 0.226901357\n"
775
+ " average: 17.077908441831\n"
776
+ " 102/interactive:\n"
777
+ " instant: 0\n"
778
+ " time: 9.6858e-05\n"
779
+ " average: 0\n"
780
+ " 105/lua:\n"
781
+ " instant: 9.2461986412164\n"
782
+ " time: 0.10657528\n"
783
+ " average: 7.7068458630827\n"
784
+ " 1/sched:\n"
785
+ " instant: 20.265286315108\n"
786
+ " time: 0.237095335\n"
787
+ " average: 23.141537169257\n"
788
+ " cpu_misses: 0\n"
789
+ "..."
697
790
698
791
msgid ""
699
792
"Enabling ``fiber.top()`` slows down fiber switching by about 15%, so it "
700
793
"is disabled by default. To enable it, say ``fiber.top_enable()``. To "
701
794
"disable it after you finished debugging, with ``fiber.top_disable()``."
702
795
msgstr ""
796
+ "Выполнение ``fiber.top()`` замедляет переключение файберов примерно на "
797
+ "15%, поэтому по умолчанию функция отключена. Чтобы включить ее, выполните"
798
+ " команду ``fiber.top_enable()``. Чтобы отключить ее по окончании отладки,"
799
+ " выполните ``fiber.top_disable()``."
703
800
704
801
msgid ""
705
802
"Locate a fiber by its numeric id and cancel it. In other words, "
@@ -889,6 +986,11 @@ msgid ""
889
986
" ``error: the fiber is dead``. But a dead fiber can still report its id "
890
987
"and status."
891
988
msgstr ""
989
+ "Отмена файбера. Отменить можно активные и приостановленные файберы. Любые"
990
+ " попытки использовать файбер после его отмены вызовут ошибку, например, "
991
+ ":ref:`fiber_object:name() <fiber_object-name_get>` вызовет ``error: the "
992
+ "fiber is dead``. Тем не менее, недоступный файбер может передавать свой "
993
+ "ID и статус."
892
994
893
995
msgid "Possible errors: cancel is not permitted for the specified fiber object."
894
996
msgstr "Возможные ошибки: нельзя отменить указанный объект файбера."
@@ -910,6 +1012,22 @@ msgid ""
910
1012
"- dead\n"
911
1013
"..."
912
1014
msgstr ""
1015
+ "tarantool> fiber.self():cancel() -- завершение работы файбера, может "
1016
+ "вызвать окончание программы\n"
1017
+ "---\n"
1018
+ "...\n"
1019
+ "tarantool> fiber.self():cancel()\n"
1020
+ "---\n"
1021
+ "- error: fiber is cancelled\n"
1022
+ "...\n"
1023
+ "tarantool> fiber.self:id()\n"
1024
+ "---\n"
1025
+ "- 163\n"
1026
+ "...\n"
1027
+ "tarantool> fiber.self:status()\n"
1028
+ "---\n"
1029
+ "- dead\n"
1030
+ "..."
913
1031
914
1032
msgid ""
915
1033
"Local storage within the fiber. It is a Lua table created when it is "
@@ -1280,6 +1398,17 @@ msgid ""
1280
1398
"---\n"
1281
1399
"..."
1282
1400
msgstr ""
1401
+ "tarantool> start = fiber.clock()\n"
1402
+ "---\n"
1403
+ "...\n"
1404
+ "tarantool> print(start)\n"
1405
+ "248700.58805\n"
1406
+ "---\n"
1407
+ "...\n"
1408
+ "tarantool> print(fiber.time(), fiber.time()-start)\n"
1409
+ "1600785979.8291 1600537279.241\n"
1410
+ "---\n"
1411
+ "..."
1283
1412
1284
1413
msgid "Same as :ref:`fiber.clock() <fiber-clock>` but in microseconds."
1285
1414
msgstr "То же, что и :ref:`fiber.clock() <fiber-clock>`, но в микросекундах."
@@ -1455,6 +1584,18 @@ msgid ""
1455
1584
"fiber.sleep(.1)\n"
1456
1585
"fiber_object:cancel()"
1457
1586
msgstr ""
1587
+ "fiber = require('fiber')\n"
1588
+ "function function_name()\n"
1589
+ " while true do\n"
1590
+ " print('before testcancel')\n"
1591
+ " fiber.testcancel()\n"
1592
+ " print('before yield')\n"
1593
+ " fiber.yield()\n"
1594
+ " end\n"
1595
+ "end\n"
1596
+ "fiber_object = fiber.create(function_name)\n"
1597
+ "fiber.sleep(.1)\n"
1598
+ "fiber_object:cancel()"
1458
1599
1459
1600
msgid "Channels"
1460
1601
msgstr "Каналы"
@@ -1834,6 +1975,10 @@ msgid ""
1834
1975
"connect. We will use the tarantoolctl utility (a utility for "
1835
1976
"administrators) to start two clients."
1836
1977
msgstr ""
1978
+ "Предположим, что экземпляр Tarantool работает и прослушивает порт 3301 на"
1979
+ " localhost в ожидании соединений. Также предположим, что пользователи "
1980
+ "уровня guest имеют права на подключение. Воспользуемся утилитой "
1981
+ "tarantoolctl (утилитой для администраторов), чтобы запустить два клиента."
1837
1982
1838
1983
msgid "On terminal #1, say"
1839
1984
msgstr "В первом терминале введите:"
0 commit comments