Changes between Version 2 and Version 3 of soc2009


Ignore:
Timestamp:
Mar 13, 2009, 6:24:59 PM (14 years ago)
Author:
troy d. straszheim
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • soc2009

    v2 v3  
    1 === Google Summer of Code 2009 ===
     1= Google Summer of Code 2009 =
    22
    3 '''Boost Serialization Library'''
     3== Boost.Serialization ==
    44
    55Here are a few small projects which would be really helpful.
    66
    7 '''Performance Testing and Profiling'''
     7=== Performance Testing and Profiling ===
    88I've managed to setup performance profiling using the following:
    99
     
    1717The first thing I did was include some of the serialization library tests. It became immediately apparent that these tests were totally unsuitable for performance testing and that new tests needed to be written for this purpose. These tests would highlight the location of any performance bottlenecks in the serialization library. Whenever I've subjected my code in the past to this type of analysis, I've always been suprised to find bottlenecks in totally unanticipated places and fixing those has always lead to large improvements in performance. I expect that this project would have a huge impact on the utility of the serialization library.
    1818
    19 '''Back Versioning'''
     19=== Back Versioning ===
    2020It has been suggested that a useful feature of the library would be the ability to create "older versions" of archives. Currently, the library permits one make programs that are guarenteed the ability to load archives with classes of a previous version. But there is not way to save classes in accordance with a previous version. At first I dismissed this a a huge project with small demand. A cursory examination of the code revealed that this would not be very difficult. It would require some small changes in code and some additional tests. Also it would require special treatment in the documentation - perhaps a case study.
    2121
    22 '''Environments without RTTI'''
     22=== Environments without RTTI ===
    2323I note that some have commented that this library requires RTTI. This is not strictly true. The examples and almost all the tests presume the existence of RTTI. But it should be possible to use the library without it. The example used for testing is an extended_typeinfo implemenation which presumes that all classes names have been exported. So, to make this library compatible for platforms without RTTI, a set of tests, examples and new manual section would have to be created
    2424
     25=== Portable Archives (straszheim) ===
    2526
     27A method for testing portability was suggested (save and load to a portable binary archive, and verify that the checksum of the binary archive
     28matches some checksum.  This would involve development of the archive and tests.
     29
     30=== Maximum version check (straszheim) ===
     31
     32See https://svn.boost.org/trac/boost/ticket/2830
     33
     34=== Export name aliasing (straszheim) ===
     35
     36If you change the name under which a class is BOOST_CLASS_EXPORT'ed you break backwards compatibility... you can't read older archives.
     37In addition there is no way to have more than one class exported under the same name.
     38
     39
     40== Boost.Python ==
     41
     42 * Python 3.0 support
     43 * Ability to extend the fundamental PyTypeObject used by boost.python
     44 * Thread safety
     45 * PyFinalize support
     46 * Easier methods to write to_python/from_python converters
     47