|
Translation uploaded |
|
|
String added in the repository |
|
|
Translation uploaded |
|
|
String added in the repository |
In the example above, threads access `m` without synchronization, just as we'd do in a single-threaded scenario. In an ideal setting, if a given workload is distributed among _N_ threads, execution is _N_ times faster than with one thread —this limit is never attained in practice due to synchronization overheads and _contention_ (one thread waiting for another to leave a locked portion of the map), but Boost.Unordered concurrent containers are designed to perform with very little overhead and typically achieve _linear scaling_ (that is, performance is proportional to the number of threads up to the number of logical cores in the CPU).
In the example above, threads access `m` without synchronization, just as we'd do in a single-threaded scenario. In an ideal setting, if a given workload is distributed among _N_ threads, execution is _N_ times faster than with one thread —this limit is never attained in practice due to synchronization overheads and _contention_ (one thread waiting for another to leave a locked portion of the map), but Boost.Unordered concurrent containers are designed to perform with very little overhead and typically achieve _linear scaling_ (that is, performance is proportional to the number of threads up to the number of logical cores in the CPU).
|
| Shortcut | Action |
|---|---|
| ? | Open available keyboard shortcuts. |
| Alt + Home | Navigate to the first translation in the current search. |
| Alt + End | Navigate to the last translation in the current search. |
|
Alt + PageUp or
Ctrl + ↑ or Alt + ↑ or Cmd + ↑ or |
Navigate to the previous translation in the current search. |
|
Alt + PageDown or
Ctrl + ↓ or Alt + ↓ or Cmd + ↓ or |
Navigate to the next translation in the current search. |
|
Ctrl + Enter or
Cmd + Enter |
Submit current form; this works the same as pressing Save and continue while editing translation. |
|
Ctrl + Shift + Enter or
Cmd + Shift +Enter |
Unmark translation as Needing edit and submit it. |
|
Alt + Enter or
Option + Enter |
Submit the string as a suggestion; this works the same as pressing Suggest while editing translation. |
|
Ctrl + E or
Cmd + E |
Focus on translation editor. |
|
Ctrl + U or
Cmd + U |
Focus on comment editor. |
|
Ctrl + M or
Cmd + M |
Shows Automatic suggestions tab. |
|
Ctrl + 1 to
Ctrl + 9 or
Cmd + 1 to Cmd + 9 |
Copies placeable of a given number from source string. |
|
Ctrl + M followed by
1 to 9 or
Cmd + M followed by 1 to 9 |
Copy the machine translation of a given number to current translation. |
|
Ctrl + I followed by
1 to
9 or
Cmd + I followed by 1 to 9 |
Ignore one item in the list of failing checks. |
|
Ctrl + J or
Cmd + J |
Shows the Nearby strings tab. |
|
Ctrl + S or
Cmd + S |
Focus on search field. |
|
Ctrl + O or
Cmd + O |
Copy the source string. |
|
Ctrl + Y or
Cmd + Y |
Toggle the Needs editing checkbox. |
| → | Browse the next translation string. |
| ← | Browse the previous translation string. |
In the example above, threads access `m` without synchronization, just as we'd do in a single-threaded scenario. In an ideal setting, if a given workload is distributed among _N_ threads, execution is _N_ times faster than with one thread —this limit is never attained in practice due to synchronization overheads and _contention_ (one thread waiting for another to leave a locked portion of the map), but Boost.Unordered concurrent containers are designed to perform with very little overhead and typically achieve _linear scaling_ (that is, performance is proportional to the number of threads up to the number of logical cores in the CPU).在上例中,线程无需同步即可访问 `m` ,这与单线程场景中的操作方式一致。在理想情况下,若将给定工作负载分配给 _N_ 个线程,其执行速度相较单线程提升 _N_ 倍——由于同步开销与__争用__的存在(某线程等待其他线程离开容器的锁定区域),实践中无法达到此理论极限。但 Boost.Unordered 并发容器设计为以极低开销运行,通常可实现__线性扩展__(即性能提升与线程数量成正比,直至达到 CPU 的逻辑核心数)。