[Mono-bugs] [Bug 577749] New: Hanging on the serialization of a big (more than 1 Gb) array

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sat Feb 6 04:29:05 EST 2010


http://bugzilla.novell.com/show_bug.cgi?id=577749

http://bugzilla.novell.com/show_bug.cgi?id=577749#c0


           Summary: Hanging on the serialization of a big (more than 1 Gb)
                    array
    Classification: Mono
           Product: Mono: Class Libraries
           Version: 2.6.x
          Platform: x86-64
        OS/Version: RHEL 5
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: System
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: Yury at serdyuk.botik.ru
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


1. The test program is a serialization of an array of floats:

using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;

public class BigSerializationTest {

 public static void Main ( String[] args ) {

  int size = Convert.ToInt32 ( args [ 0 ] );

  BinaryFormatter bf = new BinaryFormatter();
  MemoryStream    ms = new MemoryStream();

  float[] array = new float [ 1024 * 1024 * size ];

  for ( int i = 0; i < array.Length; i++)
   array [ i ] = 1.0f;

  DateTime dt1 = DateTime.Now;
  bf.Serialize ( ms, array );
  DateTime dt2 = DateTime.Now;

  Console.WriteLine ( "Serialization time = " + (dt2-dt1).TotalSeconds + "
secs." );

 }

The program works good for sizes no more ~ 260M elements:

$ mono BigSerializationTest.exe 250
Serialization time = 1.225007 secs.

$ mono BigSerializationTest.exe 251
Serialization time = 1.216954 secs.

$ mono BigSerializationTest.exe 255
Serialization time = 1.236237 secs.

$ mono BigSerializationTest.exe 258
<hanging on ...>

System Information:

$ mono -V
Mono JIT compiler version 2.6.1 (tarball Tue Dec 22 14:01:25 MSK 2009)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC and Parallel Mark)
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none

$ uname -a
Linux 2.6.18-128.el5 #1 SMP Wed Jan 21 10:41:14 EST 2009 x86_64 x86_64 x86_64
GNU/Linux

$ cat /proc/cpuinfo

vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Xeon(R) CPU           X5570  @ 2.93GHz
stepping        : 5
cpu MHz         : 1600.000
cache size      : 8192 KB

cat /proc/meminfo
MemTotal:     49449700 kB
MemFree:      47090424 kB
Buffers:        173280 kB
Cached:         986400 kB
SwapCached:          0 kB
Active:         672656 kB
Inactive:       514500 kB

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list