循环管道占用大量内存
Huge memory usage with circular pipeline
更新 2:
正如@Valle Lukas 指出的那样,看起来这是由于正在解决泄漏问题。
更新 1:
好的,我抽出时间再试一次,并且有一段更简单的代码来演示我遇到的问题:
my $channel=Channel.new; #create a new channel
$channel.send(0); #kickstart the circular pipeline
react {
whenever $channel {
say $_;
$channel.send($_ + 1); #send back to same pipeline
#sit back and watch the memory usage grow
}
}
基本上我通过 Channel
创建一个单级管道,向它发送一条消息,然后设置 react
/whenever
块来处理消息(加 1)和再次将其发送回同一频道。管道一旦启动就不会停止。
内存使用量的增长(我达到大约 600MB 并在大约 10 秒内攀升),不是由于消息缓冲,提示中只有一条消息。
这只是一个错误还是我该如何解决频道的内存使用问题?
更新 2: 正如@Valle Lukas 指出的那样,看起来这是由于正在解决泄漏问题。
更新 1:
好的,我抽出时间再试一次,并且有一段更简单的代码来演示我遇到的问题:
my $channel=Channel.new; #create a new channel
$channel.send(0); #kickstart the circular pipeline
react {
whenever $channel {
say $_;
$channel.send($_ + 1); #send back to same pipeline
#sit back and watch the memory usage grow
}
}
基本上我通过 Channel
创建一个单级管道,向它发送一条消息,然后设置 react
/whenever
块来处理消息(加 1)和再次将其发送回同一频道。管道一旦启动就不会停止。
内存使用量的增长(我达到大约 600MB 并在大约 10 秒内攀升),不是由于消息缓冲,提示中只有一条消息。
这只是一个错误还是我该如何解决频道的内存使用问题?