Skip to content

Commit d10851b

Browse files
markjschreiberandreasprlic
authored andcommitted
/* Major problem areas */
1 parent bd4370b commit d10851b

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

_wikis/BioJava3_Proposal.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,11 @@ Major problem areas
142142
almost the entire codebase anyway, and also a rewrite of most client
143143
code (e.g. to use RichSequence as the default replacement for
144144
Sequence, which would no longer exist).
145+
6. The code base doesn't take advantage of the possibility of threading
146+
for multiple CPU's. Dual core cpu's are now standard on everything.
147+
Quad cores are common on servers. If code is threaded the JVM can
148+
easily make use of these extra cores. Additionally many parts of the
149+
code base are currently not thread safe.
145150

146151
Categories of Improvement
147152
-------------------------

_wikis/BioJava3_Proposal.mediawiki

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ It is suggested that development stop on the existing BioJava/BioJavaX/BioJava2
5353
#Sequence and Feature objects are tightly bound - Features can't exist without also loading and assigning the appropriate Sequence object. This slows things down and uses memory.
5454
#In general, most operations require a Sequence object underlying whatever object you are manipulating. At the time BioJava was designed and written, this was fine as most biologists were interested in sequence manipulation. Now they have moved on and are more interested in sequence meta-data such as features or protein structures or microarray experiments or phylogenetics. To enforce having to load the sequence for every feature in a region of interest before doing even basic analysis is wasteful of resources, and illogical. BioJava needs to lose the Sequence-centric view of the world.
5555
#Interfaces that have already been deprecated in the 1.5 release need removing entirely. Many of them are heavily used within the existing code base, e.g. Sequence. To remove them would require a rewrite of almost the entire codebase anyway, and also a rewrite of most client code (e.g. to use RichSequence as the default replacement for Sequence, which would no longer exist).
56+
#The code base doesn't take advantage of the possibility of threading for multiple CPU's. Dual core cpu's are now standard on everything. Quad cores are common on servers. If code is threaded the JVM can easily make use of these extra cores. Additionally many parts of the code base are currently not thread safe.
5657
5758
==Categories of Improvement==
5859

0 commit comments

Comments
 (0)