Show More
@@ -1057,9 +1057,9 b' class InteractiveShell(Component, Magic):' | |||||
1057 | self.output_hist = {} |
|
1057 | self.output_hist = {} | |
1058 |
|
1058 | |||
1059 | # Now the history file |
|
1059 | # Now the history file | |
1060 | try: |
|
1060 | if self.profile: | |
1061 | histfname = 'history-%s' % self.profile |
|
1061 | histfname = 'history-%s' % self.profile | |
1062 | except AttributeError: |
|
1062 | else: | |
1063 | histfname = 'history' |
|
1063 | histfname = 'history' | |
1064 | self.histfile = os.path.join(self.ipythondir, histfname) |
|
1064 | self.histfile = os.path.join(self.ipythondir, histfname) | |
1065 |
|
1065 |
@@ -17,20 +17,23 b' Work targeted to particular releases' | |||||
17 | Release 0.11 |
|
17 | Release 0.11 | |
18 | ------------ |
|
18 | ------------ | |
19 |
|
19 | |||
20 |
* |
|
20 | * Full module and package reorganization (done). | |
21 |
|
21 | |||
22 |
* |
|
22 | * Removal of the threaded shells and new implementation of GUI support | |
23 | based on ``PyOSInputHook``. |
|
23 | based on ``PyOSInputHook`` (done). | |
24 |
|
24 | |||
25 | * Refactor the configuration system. |
|
25 | * Refactor the configuration system (done). | |
26 |
|
26 | |||
27 | * Prepare to refactor IPython's core by creating a new component and |
|
27 | * Prepare to refactor IPython's core by creating a new component and | |
28 | application system. |
|
28 | application system (done). | |
29 |
|
29 | |||
|
30 | * Start to refactor IPython's core by turning everything into components | |||
|
31 | (started). | |||
30 |
|
32 | |||
31 | Release 0.12 |
|
33 | Release 0.12 | |
32 | ------------ |
|
34 | ------------ | |
33 |
|
35 | |||
|
36 | * Continue to refactor IPython's core by turning everything into components. | |||
34 |
|
37 | |||
35 |
|
38 | |||
36 | Major areas of work |
|
39 | Major areas of work | |
@@ -39,22 +42,42 b' Major areas of work' | |||||
39 | Refactoring the main IPython core |
|
42 | Refactoring the main IPython core | |
40 | --------------------------------- |
|
43 | --------------------------------- | |
41 |
|
44 | |||
|
45 | During the summer of 2009, we began refactoring IPython's core. The main | |||
|
46 | thrust in this work was make the IPython core into a set of loosely coupled | |||
|
47 | components. The base component class for this is | |||
|
48 | :class:`IPython.core.component.Component`. This section outlines the status | |||
|
49 | of this work. | |||
|
50 | ||||
|
51 | Parts of the IPython core that have been turned into components: | |||
|
52 | ||||
|
53 | * The main :class:`InteractiveShell` class. | |||
|
54 | * The aliases (:mod:`IPython.core.aliases`). | |||
|
55 | * The display and builtin traps (:mod:`IPython.core.display_trap` and | |||
|
56 | :mod:`IPython.core.builtin_trap`). | |||
|
57 | * The prefilter machinery (:mod:`IPython.core.prefilter`). | |||
|
58 | ||||
|
59 | Parts of the IPythoncore that need to be turned into components: | |||
|
60 | ||||
|
61 | * Magics. | |||
|
62 | * Input and output history management. | |||
|
63 | * Prompts. | |||
|
64 | * Completers. | |||
|
65 | * Logging. | |||
|
66 | * Exception handling. | |||
|
67 | * Anything else. | |||
|
68 | ||||
42 | Process management for :mod:`IPython.kernel` |
|
69 | Process management for :mod:`IPython.kernel` | |
43 | -------------------------------------------- |
|
70 | -------------------------------------------- | |
44 |
|
71 | |||
45 | Configuration system |
|
|||
46 | -------------------- |
|
|||
47 |
|
||||
48 | Performance problems |
|
72 | Performance problems | |
49 | -------------------- |
|
73 | -------------------- | |
50 |
|
74 | |||
51 |
Currently, we have a number of performance issues |
|
75 | Currently, we have a number of performance issues in :mod:`IPython.kernel`: | |
52 |
|
76 | |||
53 | * The controller stores a large amount of state in Python dictionaries. Under |
|
77 | * The controller stores a large amount of state in Python dictionaries. Under | |
54 | heavy usage, these dicts with get very large, causing memory usage problems. |
|
78 | heavy usage, these dicts with get very large, causing memory usage problems. | |
55 |
We need to develop more scalable solutions to this problem |
|
79 | We need to develop more scalable solutions to this problem. This will also | |
56 | sqlite database to store this state. This will also help the controller to |
|
80 | help the controller to be more fault tolerant. | |
57 | be more fault tolerant. |
|
|||
58 |
|
81 | |||
59 | * We currently don't have a good way of handling large objects in the |
|
82 | * We currently don't have a good way of handling large objects in the | |
60 | controller. The biggest problem is that because we don't have any way of |
|
83 | controller. The biggest problem is that because we don't have any way of |
General Comments 0
You need to be logged in to leave comments.
Login now