Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [eclipse-dev] Eclipse viewer architecture is slower than MVC? ?

In your reply I did not find an answer to the questions of speed and finetuning.

> -----Original Message-----
> From: Holger Baxmann [mailto:holger@xxxxxxxxxxx] 
> Sent: Mittwoch, 7. August 2002 21:55
> To: eclipse-dev@xxxxxxxxxxx
> Subject: Re: [eclipse-dev] Eclipse viewer architecture is 
> slower than MVC??
> 
> 
> "fast" means at first make more errors faster, "appropriate" 
> means make appropriate things with less failures - and to 
> have an appropriate design. imho are 80% of  performance 
> appropriate design & architecture. appropriate. there is no 
> winner, except eclipse vis-a-vis netbeans, i know both 
> netbeans from the beginning in a czech company - the 
> perspective, view, editor approach of eclipse is far ahead 
> the arch and design winner.
> 
> try to fly a f-18 in your bedroom - it's very fast
> what is a nano second for an momentum scientist, what are one 
> billion years for an Paleonthologist?
> 
> bax
> ps: regarding your company: "if you can't change your job, 
> change your job"
> 
> ----- Original Message -----
> From: "Dinesh Varadharajan" <DVARADHARAJAN@xxxxxxxxxxxxx>
> To: <eclipse-dev@xxxxxxxxxxx>
> Sent: Wednesday, August 07, 2002 5:36 AM
> Subject: [eclipse-dev] Eclipse viewer architecture is slower 
> than MVC??
> 
> 
> > Hi,
> > In our company we are evaluating netbeans and eclipse for future 
> > development. We wrote a simple program on each of this 
> program and in 
> > eclipse it is taking more time than in netbeans.
> >
> > The netbeans is using MVC architecture and eclipse's adapter 
> > architecture(Viewers ) are slower than MVC.
> >
> > The program consists of a tree and a 100x100 table. The tree has
> alphabets
> > as items. Whenever the user clicks the alphabet all the table cells
> will be
> > filled up with that alphabet. We implemented MVC in Netbeans and
> viewers in
> > Eclipse. In netbeans it is taking 10milliseconds and 
> eclipse is taking 
> > 3seconds.
> >
> > Can any one fine tune this program to work fast as in netbeans.
> >
> > The program is
> >
> > import org.eclipse.jface.viewers.ILabelProviderListener;
> > import org.eclipse.jface.viewers.IStructuredContentProvider;
> > import org.eclipse.jface.viewers.ITableLabelProvider;
> > import org.eclipse.jface.viewers.TableViewer;
> > import org.eclipse.jface.viewers.Viewer;
> > import org.eclipse.swt.SWT;
> > import org.eclipse.swt.events.SelectionEvent;
> > import org.eclipse.swt.events.SelectionListener;
> > import org.eclipse.swt.graphics.Image;
> > import org.eclipse.swt.layout.FillLayout;
> > import org.eclipse.swt.widgets.Display;
> > import org.eclipse.swt.widgets.Shell;
> > import org.eclipse.swt.widgets.Table;
> > import org.eclipse.swt.widgets.TableColumn;
> > import org.eclipse.swt.widgets.Tree;
> > import org.eclipse.swt.widgets.TreeItem;
> >
> >
> > public class viewer {
> > TableViewer tv = null;
> > Tree tree = null;
> > class Dummy{
> > String[] values;
> > public Dummy(){
> > values = new String[100];
> > }
> >
> > public String get(int i){
> > return values[i];
> > }
> > public void set(int i, String value){
> > values[i] = value;
> > }
> > }
> > class ContentProvider implements IStructuredContentProvider{ public 
> > void dispose() {} public void inputChanged(Viewer viewer, Object 
> > oldInput, Object
> newInput){
> > }
> >
> > public Object[] getElements(Object inputElement){
> > Dummy dummy = (Dummy)inputElement;
> > return dummy.values;
> > }
> > }
> >
> > class LabelProvider implements ITableLabelProvider{
> > public Image getColumnImage(Object element, int 
> columnIndex) { return 
> > null; }
> > public String getColumnText(Object element, int columnIndex){
> > Dummy dummy = (Dummy)element;
> > return dummy.get(columnIndex);
> > }
> > public void addListener(ILabelProviderListener listener) {}
> > public void dispose() {}
> > public boolean isLabelProperty(Object element, String 
> property){return
> > true; }
> > public void removeListener(ILabelProviderListener listener){}
> > }
> > public void run(){
> > Display display = new Display();
> > Shell shell = new Shell(display);
> > shell.setLayout(new FillLayout());
> > tree = new Tree (shell, SWT.BORDER);
> > TreeItem root = new TreeItem (tree, 0);
> > root.setText("root");
> > for (int i= 65; i< 91; i++) {
> > TreeItem treeitem = new TreeItem (root, SWT.NONE);
> > byte[] data = new byte[1];
> > data[0] = (byte)i;
> > treeitem.setText(new String(data));
> > }
> > Table t1 = new Table(shell, SWT.NONE);
> > t1.setHeaderVisible(true);
> > t1.setLinesVisible(true);
> > for (int i = 0; i < 100; i++) {
> > TableColumn tableColumn = new TableColumn(t1, SWT.NULL);
> > tableColumn.setWidth(20);
> > tableColumn.setText("column "+i);
> > }
> > tv = new TableViewer(t1);
> > tv.setContentProvider(new ContentProvider());
> > tv.setLabelProvider(new LabelProvider());
> > for (int row = 0; row<100; row++){
> > Dummy foo = new Dummy();
> > for (int col=0; col<100; col++)
> > foo.set(col, "");
> > tv.add(foo);
> > }
> > tree.addSelectionListener(new TreeSelectionListener());
> > shell.open();
> > while (! shell.isDisposed()) {
> > if (! display.readAndDispatch()) display.sleep();
> > }
> > }
> > Class TreeSelectionListener implements SelectionListener{
> > public void widgetSelected(SelectionEvent e){
> > for (int row = 0; row<100; row++){
> > Dummy dummy = (Dummy) tv.getElementAt(row);
> > for (int col=0; col<100; col++)
> > dummy.set(col, tree.getSelection()[0].getText());
> > tv.refresh(dummy);
> > }
> > }
> > public void widgetDefaultSelected(SelectionEvent e){}
> > }
> > public static void main(String[] args) {
> > new viewer().run();
> > }
> > }
> >
> >
> > Thanks,
> > Dinesh
> >
> >
> 
> _______________________________________________
> eclipse-dev mailing list
> eclipse-dev@xxxxxxxxxxx 
> http://dev.eclipse.org/mailman/listinfo/eclips> e-dev
> 


Back to the top