Re: Cocoa/Objective-C's Relative Performance
Re: Cocoa/Objective-C's Relative Performance
- Subject: Re: Cocoa/Objective-C's Relative Performance
- From: Alun ap Rhisiart <email@hidden>
- Date: Thu, 13 Jan 2005 12:00:37 +0000
Ivan S. Kourtev wrote:
Perhaps I am missing the point and these Cocoa data structures are
only optimal for use with GUI widgets (of which there are never
millions). I am starting to think that for maximum performance (I am
talking about data sets with hundreds of millions of elements) one
would always need a custom non-Cocoa (and not even Objectivee-C
because of the objc_msgsend() overhead) data structures.
Maybe it's time to Think Different? Although you don't often see them
used in commerce, there are libraries designed specifically to deal
with very large data sets, often encountered by scientists in fields
such as earth sciences, meteorology, astronomy and so on. They are not
simply data structures but a library of routines which internally act
on the data structures.
There are three main ones.
1. HDF5 (Hierarchical Data Format version 5), developed by the National
Center for Supercomputing Applications (NCSA) at the University of
Illinois at Urbana-Champaign. Available from http://hdf.ncsa.uiuc.edu/
(and also from Fink). HDF(4) is the older version and not compatible
with HDF5.
2. CDF (Common Data Format), developed by National Space Science Data
Center at NASA. Available from
http://nssdc.gsfc.nasa.gov/cdf/cdf_home.html
3. netCDF, developed by the National Center for Atmospheric Research
(NCAR) as a branch off CDF. It provides similar facilities. Available
from http://my.unidata.ucar.edu/content/software/netcdf/index.html
(there is also a version from Fink).
A comparison of these types is available in the CDF FAQ at the above
site. Another more indepth comparison is in this document
http://hdf.ncsa.uiuc.edu/HDF5/RD100-2002/All_About_HDF5.pdf
These are all freely available, work on multiple OSes, have a number of
language interfaces (at least C, FORTRAN and Java, some also have Perl
and others). HDF5 in particular can handle petabytes of data, and is
the one I would go for. netCDF and HDF5 are becoming increasingly
compatible. PyTables is available for Scientific Python to use HDF5,
should you need to create a cross-platform program in addition to your
cocoa one, or for quick and dirty testing, or as a learning tool for
HDF5 concepts (http://pytables.sourceforge.net/html/WelcomePage.html).
Hope that helps,
Alun ap Rhisiart
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden