##// END OF EJS Templates
Backport PR #5535: fix n^2 performance issue in coalesce_streams preprocessor...
Backport PR #5535: fix n^2 performance issue in coalesce_streams preprocessor for n consecutive stream outputs, `\r` fix would be compiled n times, and applied to each ith output (n-i) times. - move pattern to module level - apply replacement after coalescing outputs An example notebook from nbviewer with ~1k outputs that was taking 90 seconds to render now takes 3 seconds.

File last commit:

r16113:87737521
r16235:bceec0c0
Show More
inprocess_terminal.py
31 lines | 833 B | text/x-python | PythonLexer
from __future__ import print_function
import os
from IPython.kernel.inprocess import InProcessKernelManager
from IPython.terminal.console.interactiveshell import ZMQTerminalInteractiveShell
def print_process_id():
print('Process ID is:', os.getpid())
def main():
print_process_id()
# Create an in-process kernel
# >>> print_process_id()
# will print the same process ID as the main process
kernel_manager = InProcessKernelManager()
kernel_manager.start_kernel()
kernel = kernel_manager.kernel
kernel.gui = 'qt4'
kernel.shell.push({'foo': 43, 'print_process_id': print_process_id})
client = kernel_manager.client()
client.start_channels()
shell = ZMQTerminalInteractiveShell(manager=kernel_manager, client=client)
shell.mainloop()
if __name__ == '__main__':
main()