Project

General

Profile

Actions

Prototypes » History » Revision 20

« Previous | Revision 20/49 (diff) | Next »
Greg Burri, 03/16/2009 10:40 AM


Prototypes

Prototypes are locate in the '/prototypes' directory in the repository. The goal is to write some code to try to resolve a particular problem which we don't know exactly how to solve.

  1. Creating SHA-1 hash for each part of a file. See Libraries for the list of SHA-1 lib. We must find the quickest library. The reference in term of speed is sha1sum from the openssl package. The speed is approximately 150Mo/s for a cached file for an Intel 1.8 GHz Core2 CPU.
  2. Reading and writing files with UTF8 characters in theirs filename. Must be tested for the three platforms : Linux, Windows and MacOSX.
  3. Searching into a large set of files and directories with a glob string or a range of size, see the chapter 8 and 9 of RWH. Measure the average time for about 50'000 files.
  4. Observing the modifications of the files structure to hash new added files and remove hash from the cache when a file is deleted.
  5. Efficient of the file transfer over TCP/IP with Haskell. It includes reading, streaming and writing. Comparisons with SMB and NFS.
  6. Multicast UDP.
  7. Serializing and exchanging message with Protocol Buffers in Haskell. see http://hackage.haskell.org/cgi-bin/hackage-scripts/package/protocol-buffers.
  8. Defining and testing the concurrent model.
  9. Reading and writing the same file from different threads.

Updated by Greg Burri over 15 years ago · 20 revisions