在尝试OSGi PushStream库时,我觉得它真的很慢.我创建了两个方法,使用PushStream执行相同的操作,另一个使用简单的BlockingQueue(请参阅下面的代码),结果如下:
Queue needs 3 milliseconds to process 1000 events.
PushStream needs 31331 milliseconds to process 1000 events.
Run Code Online (Sandbox Code Playgroud)
为什么PushStream会变慢?我做错了什么?
使用PushStream:
public class TestPush{
@Test
public void testPushStream() throws Exception {
final PromiseFactory pf = new PromiseFactory(PromiseFactory.inlineExecutor());
final PushStreamProvider psp = new PushStreamProvider();
final SimplePushEventSource<Integer> source =
psp.buildSimpleEventSource(Integer.class).withQueuePolicy(QueuePolicyOption.BLOCK).build();
final Deferred<Instant> startD = pf.deferred();
final Deferred<Instant> endD = pf.deferred();
psp.createStream(source).onClose(() -> endD.resolve( Instant.now()) ).forEach((i) -> {
if (i == 0) {
startD.resolve( Instant.now() );
}
});
final Promise<Long> nbEvent = psp.createStream(source).count(); …Run Code Online (Sandbox Code Playgroud) 从版本0.19开始,Okular有一个标签界面.但在我的版本(0.22.0)中,我没有在设置中看到"在新选项卡中打开"选项(如Okular文档中所述).我确切地说我的安装在Gnome环境下.如何使标签功能正常工作?