Re: [Mono-dev] Mono 1.9.0 Preview 1+ is out!!

2008-02-01 Thread pablosantosluac
Hi,

Can I find a list of the included issues?


Thanks


pablo
- Original Message - 
From: "Thomas Wiest" <[EMAIL PROTECTED]>
To: "mono-devel" 
Sent: Friday, February 01, 2008 9:40 PM
Subject: [Mono-dev] Mono 1.9.0 Preview 1+ is out!!


> Hey Everyone,
>We've just released Mono 1.9.0 Preview 1+ today! Please help us out
> by giving it a try with your applications.
> 
> As always, you can get the preview releases here:
> http://mono.ximian.com/monobuild/preview/download-preview/
> 
> Please report any bugs that you may find using our Bugs page, AND reply
> to this thread with the bug numbers so we can track them!
> http://www.mono-project.com/Bugs
> 
> 
> The earlier you file the bugs and reply to this message, the more likely
> your bugs will get fixed.
> 
> Special attention is given to regressions, so if you can tell us a
> version of Mono where the bug worked and tag the summary with
> [Regression], then it is much more likely your bug will get fixed.
> 
> 
> Please help the Mono team to make 1.9.0 the best release of Mono ever.
> Thanks again!
> 
> Mono QA
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Control-C handler

2008-01-19 Thread pablosantosluac
Ok, and, do you have plans to integrate it in the near future? I mean, I 
don't know the status, but I saw there were some potential problems...
- Original Message - 
From: "Jonathan Pryor" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: "Paolo Molaro" <[EMAIL PROTECTED]>; 
Sent: Saturday, January 19, 2008 1:30 PM
Subject: Re: [Mono-dev] Control-C handler


> On Sat, 2008-01-19 at 10:01 +0100, pablosantosluac wrote:
>> Is it integrated on trunk?
>
> No.
>
> - Jon
>
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Control-C handler

2008-01-19 Thread pablosantosluac
Is it integrated on trunk?



- Original Message - 
From: "Jonathan Pryor" <[EMAIL PROTECTED]>
To: "Paolo Molaro" <[EMAIL PROTECTED]>
Cc: 
Sent: Thursday, January 10, 2008 5:52 PM
Subject: Re: [Mono-dev] Control-C handler


> On Wed, 2008-01-09 at 12:33 -0500, Jonathan Pryor wrote:
>> Attached are patches to mcs/class/Mono.Posix/Mono.Unix.Native and
>> mono/support as an initial implementation of this idea.  It currently
>> uses a dedicated Mono.Posix-internal thread to do managed signal
>> dispatching (as the ThreadPool is intended for short-lived tasks, and
>> I'm not familiar enough with the Timer-related infrastructure to see if
>> it would be a good fit).
>
> Attached is an updated patch set which supports both the existing/new
> Stdlib.signal() semantics (as the previous patch set did) in which the
> signal handler is invoked on an internal helper thread, and adds a new
> Mono.Unix.UnixSignal type to permit polling and/or blocking as lupus
> originally suggested.
>
> The one thing I don't like (but can't think of a workaround) is the
> interaction between UnixSignal and Stdlib.signal(): as currently
> implemented, UnixSignal and Stdlib.signal() can't handle the same signal
> simultaneously -- if UnixSignal registered to handle e.g. SIGINT, then
> Stdlib.signal() will return SIG_ERR, with errno set to EEXIST.
>
> However, the alternate IS possible: UnixSignal can handle e.g. SIGINT if
> Stdlib.signal() was previously called to handle it (and will
> consequently replace the original Stdlib.signal() handler).  The
> "original" Stdlib.signal() handler will be replaced when the UnixSignal
> instance is destroyed.
>
> (One workaround I can think of would be for Stdlib.signal() and
> UnixSignal to use the same data structures, but I want to keep the
> registered_signals array as short as possible to keep down the signal
> handler execution time.  Plus one concern: what *should* happen if one
> thread creates a UnixSignal instance for SIGINT, then calls
> UnixSignal.WaitOne(), then another thread calls
> Stdlib.signal(SIGINT,SIG_IGN) while WaitOne() is blocking?
>
> Of course, this could be used as an argument to dump Stdlib.signal()
> support entirely, but it needs to stick around to permit setting SIG_IGN
> on a given signal.  I suppose Stdlib.signal() could be restricted to
> just accepting SIG_IGN, SIG_ERR, and SIG_DFL and error out if any other
> delegate instance is passed, so that people use UnixSignal for all
> significant signal usage, but I don't like this either as currently each
> UnixSignal.WaitOne() call requires a separate pipe, while
> Stdlib.signal() uses a single pipe multiplexed across all registered
> signals...)
>
> Thoughts?
>
> - Jon
>
>





> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Mono performance benchmark results

2007-12-30 Thread pablosantosluac
Hi,

I've just read Miguel's post about language performance benchmark! 
http://tirania.org/blog/archive/2007/Dec-28.html

Well, I have to admit I expected much better results! Although I doubt to 
what extent this results are meangiful at all. I mean: for the last three 
weeks we've been heavily working on performance for the upcoming plastic 2.0 
release (www.plasticscm.com, in case you don't know what I'm talking about). 
We're using a big number of computers (thanks to http://www.infor.uva.es/) 
to stress test a single plastic server and get results out of it. We're 
running the tests using PNUnit (NUnit parallel extension 
pnunit.codicesoftware.com, which I'll be hopefully integrating into the next 
NUnit release thanks to Charlie Poole): they basically consist on "test 
agents" which simulate user actions (command line) and are almost 
independent from each other. Of course they all work against the same 
server.

Well, the point is plastic is being tested running on .NET/Mono (all the 
clients on mono/Linux, always) and we're improving heavy load behaviour. 
Right now I can say we're much (much) faster than systems like Subversion 
(we were already with only one client, but the new version will clearly 
outperform it with big loads) and even wellknown commercial ones (but 
unfortunately I can't reveal their names... yet). My point here is plastic 
is running ON MONO, while the competitors are all implemented in C/C++. So, 
yes, language performance is important, but real life results aren't always 
comparable to mandelbrot plots!

Regards,


pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Interprocess communication

2007-12-27 Thread pablosantosluac
Yes, remoting is "similar to com", but a full road ahead!
  - Original Message - 
  From: FirstName LastName 
  To: Justin Cherniak ; Steve Bjorg 
  Cc: mono-devel 
  Sent: Thursday, December 27, 2007 4:48 PM
  Subject: Re: [Mono-dev] Interprocess communication


  What I'm trying to do is to make 2 processes talk on the same machine using a 
linux OS.  The managed process will act as the master and the unmanaged process 
will act like the slave.
   
  The type of communication I wish to use would be something easy to use like 
in .NET such as COM objects.  This allows me to use interface when 
communicating and it avoids me to handle the communication between both 
processes.
   
  In mono, I wonder if there is something similar?  If not, well, I will have 
to do the communication.
   
  In order words, is there a simple interprocess communication (like COM) that 
would alllow my managed application to talk to the unmanaged application?
  If so, can this communication use pipes (but not sockets) for the transport 
of data?
   
  Thanks again!





Date: Thu, 27 Dec 2007 02:37:57 -0500
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: [Mono-dev] Interprocess communication
CC: [EMAIL PROTECTED]; mono-devel-list@lists.ximian.com

Thats not a bad idea, didn't think of it...but its a little tricker to do 
the other side from unmanaged code.  Again I'm not sure how to work it on *nix, 
but on Windows, you can use the same APIs that HttpListener uses from unmanaged 
code using the HTTP Server API (see 
http://msdn2.microsoft.com/en-us/library/aa364510(VS.85).aspx) or Windows HTTP 
Services (client - 
http://msdn2.microsoft.com/en-us/library/aa384273(VS.85).aspx)

Justin


On Dec 27, 2007 12:27 AM, Steve Bjorg <[EMAIL PROTECTED]> wrote: 

  You could use TcpSocket or HttpListener over localhost (loopback).  Using 
HttpListener is rather straightforward:


  string connectionEndPoint = " http://localhost:";;


  //*** setting up the listener ***
  HttpListener listener = new HttpListener();
  listener.Prefixes.Add(connectionEndPoint);
  listener.Start ();
  AsyncCallback callback = delegate(IAsyncResult ar) {
  HttpListenerContext httpContext = listener.EndGetContext(ar);


  //--- do your processing here ---



  listener.BeginGetContext(callback, listener);
  };
  listener.BeginGetContext(callback, listener); 




  //*** sending a message ***
  HttpWebRequest httpRequest = 
(HttpWebRequest)WebRequest.Create(connectionEndPoint);
  httpRequest.Method = "POST";
  using(Stream stream = httpRequest.GetRequestStream()) {
  stream.Write(data, 0, date.Length);
  }
  HttpWebResponse httpResponse = 
(HttpWebResponse)httpRequest.GetResponse(); 
  bool success = (httpResponse.StatusCode >= 200) && 
(httpResponse.StatusCode < 300);
  httpResponse.Close()




  Package this into helper functions and make the connection end point 
configurable and voila, portable cross process communication.  This is also a 
great launch pad into making your system network distributed if need be as well 
as take advantage of the various object seriializers in .net and mono. 




  - Steve


  --
  Steve G. Bjorg
  http://wiki.mindtouch.com
  http://wiki.opengarden.org




  On Dec 26, 2007, at 8:43 PM, Justin Cherniak wrote:


Unfortunately as far as I know there is no easy one off way to do this. 
 That said, if you are communicating to an unmanaged process, I would assume it 
is a safe assumption to assume you are targeting a particular operating system. 

I can't help you much with *nix, but on windows, you have a number of 
options including:

  a.. COM 
  b.. Shared memory 
  c.. Window messages
What exactly are you trying to do, I (or someone else) might be able to 
narrow it down to a clearer solution. 

Thanks,
Justin


On Dec 26, 2007 10:21 PM, FirstName LastName <[EMAIL PROTECTED]> wrote:

  Hi,
   
  I'm currently trying to find a way to make 2 processes on the same 
machine talk.
   
  One process is managed while the other is unmanaged.  How can I do 
this?
   
  Thanks!


--
  HO HO HO, if you've been nice this year, email Santa! Visit 
asksanta.ca to learn more!

  ___
  Mono-devel-list mailing list
  Mono-devel-list@lists.ximian.com
  http://lists.ximian.com/mailman/listinfo/mono-devel-list




___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com 
http://lists.ximian.com/mailman/listinfo/mono-devel-list



  

Re: [Mono-dev] 1.2.6 on mac

2007-12-20 Thread pablosantosluac
Ok, it seems the problems arised using your "blog" driver... We'll try to 
send you some testcases, but it won't be easy because most of the times you 
need a "complex" app to reproduce the problems...


pablo
- Original Message - 
From: "Geoff Norton" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: "David Suarez" <[EMAIL PROTECTED]>; 

Sent: Thursday, December 20, 2007 7:10 PM
Subject: Re: [Mono-dev] 1.2.6 on mac


> Pablo,
>
>
>> Ok, please take a look at your macos Quartz driver running the most 
>> beautiful :-P winforms application:
>>
>> http://www.flickr.com/search/?q=plastic+scm+macos
>>
>
> Looks great!
>
>> Unfortunately it is quite unstable on MacOS right now, but David can 
>> point out many of the issues he's finding, so I guess we can help  here.
>>
>
> Are you running 1.2.6 or the updated driver from my blog?
>
>> Basically we've found:
>>
>> - The different windows easily loose focus and the focus is kept by  the 
>> parent window.
>
> If you're running the updated driver from my blog can you make a  testcase 
> for this and file a bug please?
>
>>
>> - Each repaint repaints everything on a control, even when a custom 
>> control is designed to make its own painting. This creates flickering.
>
> This is a known issue
>
> -g
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] 1.2.6 on mac

2007-12-20 Thread pablosantosluac
Just pure Mono/WinForms... and the results really paid off! So, I think it 
is quite clear there are opportunities to make some great GUI multiplatform 
code with WinForms... so yes, mono is ready for the enterprise 
(http://tirania.org/blog/archive/2007/Dec-06.html), and not only on the 
GUI... also strong server code! :-)


pablo

- Original Message - 
From: "Gavin Landon" <[EMAIL PROTECTED]>
To: "David Suarez" <[EMAIL PROTECTED]>
Cc: 
Sent: Thursday, December 20, 2007 7:46 PM
Subject: Re: [Mono-dev] 1.2.6 on mac


> Wow..  Looks really good.  I've done some development in AIR and that UI
> I would have never guessed it wasn't AIR.
>
> -Original Message-
> From: David Suarez [mailto:[EMAIL PROTECTED]
> Sent: Thursday, December 20, 2007 12:43 PM
> To: Gavin Landon
> Cc: mono-devel-list@lists.ximian.com
> Subject: RE: [Mono-dev] 1.2.6 on mac
>
> Hi Gavin,
>
>
>> Looks a lot better than Surround SCM..   David, are you using Adobe
> AIR
>> and/or Flex for the UI?
>
> Mono winforms only, with several custom controls.
>
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Control-C handler

2007-12-20 Thread pablosantosluac
Ok, I think I got a bit lost here... how should I proceed then?

Thanks,


pablo
- Original Message - 
From: "Jonathan Pryor" <[EMAIL PROTECTED]>
To: "Miguel de Icaza" <[EMAIL PROTECTED]>
Cc: 
Sent: Thursday, December 20, 2007 8:41 PM
Subject: Re: [Mono-dev] Control-C handler


> On Thu, 2007-12-20 at 14:16 -0500, Miguel de Icaza wrote:
>> Hello,
>> 
>> > You can use signal(2), which is helpfully exposed by Mono.Posix.dll.
>> > 
>> > See the attached program.
>> 
>> This actually would corrupt the application state, because the C-c
>> handler will run the entire JIT at that point and this happens in the
>> same thread as the executing thread.
> 
> Isn't there a method that says "JIT this function now"?  (I thought
> Marshal.Prelink() did that, which is what Stdlib.signal() calls, but I
> just re-read the documentation and it doesn't do anything of the sort.)
> 
> Before dropping to C, though, there are two alternatives:
> 
> 1. Call handler() *before* passing it to Stdlib.signal():
> 
> handler (-1);
> Stdlib.signal (Signum.SIGINT, handler);
> /* ... as before ... */
> 
> This would require changing handler() to know about this initialization
> call and NOT set ctrl_c_pressed if the parameter is -1.
> 
> This would also allow a pure C# signal handler, as the method will be
> JITed during the first handler() call.
> 
> 2. Use System.Runtime.ConstrainedExecution.PrePrepareMethodAttribute on
> the signal handler method.  This would require that Mono have support
> for Constrained Execution regions, which I believe is currently lacking,
> but would presumably eventually be supported.
> 
> - Jon
> 
> 
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Control-C handler

2007-12-20 Thread pablosantosluac
Hi,

I've found the following code to set a Control-C handler on a .NET 1.1 
application.

http://geekswithblogs.net/mrnat/archive/2004/09/23/11594.aspx

Is there a way to do the same on Linux/Mono?


Thanks,

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] 1.2.6 on mac

2007-12-20 Thread pablosantosluac
Hi Geoff,

It looks like a great work!!

Ok, please take a look at your macos Quartz driver running the most 
beautiful :-P winforms application:

http://www.flickr.com/search/?q=plastic+scm+macos

Unfortunately it is quite unstable on MacOS right now, but David can point 
out many of the issues he's finding, so I guess we can help here.

Basically we've found:

- The different windows easily loose focus and the focus is kept by the 
parent window.
- Each repaint repaints everything on a control, even when a custom control 
is designed to make its own painting. This creates flickering.

Ok, this problems broke the app before we could get further.

We weren't able to run it with the Cocoa driver.

Thanks,

pablo


- Original Message - 
From: "Geoff Norton" <[EMAIL PROTECTED]>
To: "David Suarez" <[EMAIL PROTECTED]>
Cc: 
Sent: Wednesday, December 19, 2007 8:26 PM
Subject: Re: [Mono-dev] 1.2.6 on mac


> David,
>
>   http://lists.ximian.com/pipermail/mono-list/2007-December/037244.html
>
> -g
>
> On 19-Dec-07, at 9:04 AM, David Suarez wrote:
>
>> Hi,
>>
>> I'm trying a simple winforms app on macosx (tiger), just a form with a
>> picture box inside, with the latest 1.2.6 installer. It keeps saying
>> that it
>> can't open display (X-Server required...). I understand there is a new
>> native driver for winforms on mac on 1.2.6, is there any setting to
>> activate
>> it?
>>
>> I previously had an older mono version, maybe it is getting settings
>> from
>> that?
>>
>> Cheers,
>>
>> David
>>
>> www.plasticscm.com
>>
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] performance counters

2007-12-18 Thread pablosantosluac
Hi,

I was thinking about implementing some sort of performance counter in our 
app to check certain parameters. I've seen PerformanceCounters are not 
implemented. I guess they don't have the same sense on Linux... What would 
be your preferred way to do so?

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] SSL Channel implementation and SslServerStream

2007-12-18 Thread pablosantosluac
Ok, I'll make a socket based test and see whether it works
- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Tuesday, December 18, 2007 3:10 PM
Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream


Hi,

pablosantosluac wrote:
> Hi again,
>
> Ok, forget the last one! It seems I'm getting a huge variation on Linux, 
> but
> I don't know exactly why. But now I doubt it is really related to the 
> "ssl"
> code.
>
> As Sebastien pointed out, on Linux/Mono it seems my "fix" is not necessary
> at all.
>
>
> And this leads me to the second question, related to the one I was
> discussing with Robert... why there is such a huge difference between 
> runs?
>
> I'm trying a simple remoting program that just exports a method which 
> waits
> one second and returns a simple string.
>
> Ok, having said so, using both a regular tcp channel and a "ssl channel" 
> I'm
> getting very different times: from completing 200 connections in 7 seconds
> using SSL to doing the same in 180seconds...

I can see this even with your simple test case. Sporadically it takes
much longer to complete the 40 threads test.

>
> The same happens with tcp connection: from 2 seconds for 200 connections 
> to
> more than 90!
>
> I guess this is related to something its been doing wrong with TCP/IP...
> ¿?¿?¿?

It seems to be some code that blocks if more than N connections
are pending. Or more than N threads are running. Or both...

And it's not the "usual suspect" GC. I already switched it off.

Robert


>
>
> Thanks,
>
>
> pablo
>
>
>
>
> - Original Message - 
> From: "pablosantosluac" <[EMAIL PROTECTED]>
> To: "Sebastien Pouliot" <[EMAIL PROTECTED]>
> Cc: "mono-devel-list" 
> Sent: Tuesday, December 18, 2007 11:18 AM
> Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream
>
>
>> Hi again Sebastien,
>>
>> I tried to go step by step checking the topics you mentioned.
>>
>> I run my test (opening 200 SSL connections)
>>
>> 1- I tried compiling it with MS/.net 2.0. No difference at all. Same 
>> times
>> as 1.1.
>>
>> 2- Run on my box: 1.4 Pentium M with 2GB RAM. (.NET)
>>
>> - Regular mono.security -> 58s
>> - compiled mono.security "caching" (which I think is not general, so a
>> different solution would be needed, but it is valid on my test) the mono
>> internal certification calculation -> 31s
>>
>> 3- Tried on Mono/Linux (Xeon machine).
>> - Regular mono.security -> 94 s
>> - compiled mono.security caching internal X509 certificate generation ->
>> 47s
>>
>> Ok, I can be doing something wrong in my test, but it really looks like a
>> big performance increase, even on Mono/Linux. The point is actually
>> caching
>> into the Certificate the internal conversion to the Mono certificate, if
>> possible.
>>
>>
>> Thanks,
>>
>>
>> pablo
>>
>>
>>
>>
>>
>>
>>
>>
>> - Original Message - 
>> From: "pablosantosluac" <[EMAIL PROTECTED]>
>> To: "Sebastien Pouliot" <[EMAIL PROTECTED]>
>> Cc: "mono-devel-list" 
>> Sent: Tuesday, December 18, 2007 8:28 AM
>> Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream
>>
>>
>>> Hi Sebastien,
>>>
>>> Ok, understood.
>>>
>>> Well, I'll run it with the profiler under mono and let you know where 
>>> I'm
>>> loosing the time.
>>>
>>> So, yes, I have a big problem when running on .net then... :-(
>>>
>>> Ok, so, if I understand correctly, this RSA property at X509Certificate
>>> class shouldn't take time when running under the mono framework, should
>>> it?
>>> It should be invoked anyway, but wouldn't waste time because the
>>> CryptoServiceProvider is better implemented...
>>>
>>> Thanks,
>>>
>>> pablo
>>>
>>> - Original Message - 
>>> From: "Sebastien Pouliot" <[EMAIL PROTECTED]>
>>> To: "pablosantosluac" <[EMAIL PROTECTED]>
>>> Cc: "mono-devel-list" 
>>> Sent: Tuesday, December 18, 2007 1:07 AM
>>> Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream
>>>
>>>
>>>> Hey,
>>>>
>>>> On Mon, 2007-12-17 at 22:49 +0100, pablosantos

Re: [Mono-dev] SSL Channel implementation and SslServerStream

2007-12-18 Thread pablosantosluac
Thanks Sebastien,

Yes, I'm currently doing so: each test starts a single connection first, 
then it starts launching threads!

Thanks


pablo
- Original Message - 
From: "Sebastien Pouliot" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: "mono-devel-list" 
Sent: Tuesday, December 18, 2007 2:30 PM
Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream


> Hey,
>
> On Tue, 2007-12-18 at 13:13 +0100, pablosantosluac wrote:
>> Hi again,
>>
>> Ok, forget the last one! It seems I'm getting a huge variation on Linux, 
>> but
>> I don't know exactly why. But now I doubt it is really related to the 
>> "ssl"
>> code.
>>
>> As Sebastien pointed out, on Linux/Mono it seems my "fix" is not 
>> necessary
>> at all.
>>
>>
>> And this leads me to the second question, related to the one I was
>> discussing with Robert... why there is such a huge difference between 
>> runs?
>>
>> I'm trying a simple remoting program that just exports a method which 
>> waits
>> one second and returns a simple string.
>>
>> Ok, having said so, using both a regular tcp channel and a "ssl channel" 
>> I'm
>> getting very different times: from completing 200 connections in 7 
>> seconds
>> using SSL to doing the same in 180seconds...
>>
>> The same happens with tcp connection: from 2 seconds for 200 connections 
>> to
>> more than 90!
>
> Many thing could occurs... How are you doing the timing ? Does it
> includes both client and server time ?
>
> If so then there's an optimization that could explain this (or part of
> it) variation. As I said in a previous email the SslClientStream
> implements session caching. However this works (i.e. save a lot of time)
> if a previous *complete* server session exists.
>
> Now it's possible that too much session are stared simultaneously on the
> server, which requires it to do a full session for each (well many)
> clients before it can start reuse them. On other runs it's possible a
> single session negotiation is completed before others, in this case the
> first one can be shared (with *great* performance benefit).
>
> On way to hack around this would be to do a single connection (from each
> client to the server) before starting all the threads. That would ensure
> a minimum of full (heavy) sessions are done (i.e. a maximum of session
> reuse).
>
>> I guess this is related to something its been doing wrong with TCP/IP...
>> ¿?¿?¿?
>>
>>
>> Thanks,
>>
>>
>> pablo
>>
>>
>>
>>
>> - Original Message - 
>> From: "pablosantosluac" <[EMAIL PROTECTED]>
>> To: "Sebastien Pouliot" <[EMAIL PROTECTED]>
>> Cc: "mono-devel-list" 
>> Sent: Tuesday, December 18, 2007 11:18 AM
>> Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream
>>
>>
>> > Hi again Sebastien,
>> >
>> > I tried to go step by step checking the topics you mentioned.
>> >
>> > I run my test (opening 200 SSL connections)
>> >
>> > 1- I tried compiling it with MS/.net 2.0. No difference at all. Same 
>> > times
>> > as 1.1.
>> >
>> > 2- Run on my box: 1.4 Pentium M with 2GB RAM. (.NET)
>> >
>> > - Regular mono.security -> 58s
>> > - compiled mono.security "caching" (which I think is not general, so a
>> > different solution would be needed, but it is valid on my test) the 
>> > mono
>> > internal certification calculation -> 31s
>> >
>> > 3- Tried on Mono/Linux (Xeon machine).
>> > - Regular mono.security -> 94 s
>> > - compiled mono.security caching internal X509 certificate 
>> > generation ->
>> > 47s
>> >
>> > Ok, I can be doing something wrong in my test, but it really looks like 
>> > a
>> > big performance increase, even on Mono/Linux. The point is actually
>> > caching
>> > into the Certificate the internal conversion to the Mono certificate, 
>> > if
>> > possible.
>> >
>> >
>> > Thanks,
>> >
>> >
>> > pablo
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > - Original Message - 
>> > From: "pablosantosluac" <[EMAIL PROTECTED]>
>> > To: "Sebastien Pouliot" <[EMAIL PROTECTED]>

Re: [Mono-dev] Remoting and thread pool limits

2007-12-18 Thread pablosantosluac
Hi Robert,

I'm trying this together with a SSL remoting channel.

I'm observing huge variations: I don't see anymore the "80" connections 
problems: I can run the test launching 200 threads and doing 200 connections 
in less than 2 seconds. (mono/Linux)

When I use the SSL channel on Mono/Linux I can get about 7 seconds to 
complete the test.

But the "bad" thing is that from time to time the same test takes about 40 
secs for tcp and about 180 for ssl!!!

I still didn't find out why there's such a difference!!

Do you think it could be related to the tcp stack? Maybe it is needed to 
create sockets with different params or something like that?


Thanks,


pablo

- Original Message - 
From: "pablosantosluac" <[EMAIL PROTECTED]>
To: ; "Robert Jordan" <[EMAIL PROTECTED]>
Sent: Monday, December 17, 2007 11:59 PM
Subject: Re: [Mono-dev] Remoting and thread pool limits


> Ok, so this are the ones to inspect then: ProcessMessages,
> ReceiveMessageStatus and StreamRead. Well, looks ok that they are the ones
> eating CPU (the system is processing requests), but... why they go worse
> when dealing with more than 80 threads?
>
> Looking at the code I can't see anything at these methods... :-( I'll try 
> to
> look into it again in more detail...
>
> Thanks,
>
> pablo
>
> - Original Message - 
> From: "Robert Jordan" <[EMAIL PROTECTED]>
> To: 
> Sent: Monday, December 17, 2007 11:45 PM
> Subject: Re: [Mono-dev] Remoting and thread pool limits
>
>
>> Hi Pablo,
>>
>> pablosantosluac wrote:
>>> Hi Robert,
>>>
>>> Do you think it is related to the thread creation?
>>
>> I don't think so. Most of the time is spent in TcpChannel:
>>
>> System.Runtime.Remoting.Channels.Tcp.ClientConnection::ProcessMessages()
>> System.Runtime.Remoting.Channels.Tcp.TcpMessageIO::ReceiveMessageStatus(Stream,byte[])
>> System.Runtime.Remoting.Channels.Tcp.TcpMessageIO::StreamRead(Stream,byte[],int)
>>
>> When I stop the test at 40 threads, these methods are not at the top
>> anymore.
>>
>> Robert
>>
>>>
>>> I'll run some tests with the mono profiler on Linux and try to figure 
>>> out
>>> where the time is being lost...
>>>
>>>
>>> pablo
>>>
>>>
>>>
>>> - Original Message - 
>>> From: "Robert Jordan" <[EMAIL PROTECTED]>
>>> To: 
>>> Sent: Saturday, December 15, 2007 9:25 PM
>>> Subject: Re: [Mono-dev] Remoting and thread pool limits
>>>
>>>
>>>> pablosantosluac wrote:
>>>>> Well, it is not a *bug* but a feature. I wonder if it should be
>>>>> changed.
>>>>> If
>>>>> you look into RemotingThreadPool.cs there is a line like:
>>>>>
>>>>>
>>>>> threadDone.WaitOne(PoolGrowDelay, false);
>>>>>
>>>>>
>>>>> This one is actually the one making the process too slow. I'm afraid 
>>>>> it
>>>>> must
>>>>> be something similar on the .NET code too!
>>>>>
>>>>> Of course removing this line the problem gets solved, but I guess 
>>>>> there
>>>>> is a
>>>>> reason in the channel to do that.
>>>> I noticed that too, but this doesn't solve the real problem: the 200
>>>> thread test is still too slow on my machine. The degradation seems to
>>>> start after 60-80 threads on my pretty weak SMP machine.
>>>>
>>>> Just to be sure,  I've replaced RemotingThreadPool with an own, simple
>>>> version based on the standard BCL ThreadPool => same issue, although
>>>> I've raised the env var MONO_THREADS_PER_CPU to an insane value.
>>>>
>>>> Robert
>>>>
>>>>>
>>>>> pablo
>>>>>
>>>>>
>>>>> - Original Message - 
>>>>> From: "Robert Jordan" <[EMAIL PROTECTED]>
>>>>> To: 
>>>>> Sent: Saturday, December 15, 2007 4:12 PM
>>>>> Subject: Re: [Mono-dev] Remoting and thread pool limits
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> pablosantosluac wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I've found the following difference working with .NET and Mono
>>>>>>> remoting.
>

Re: [Mono-dev] SSL Channel implementation and SslServerStream

2007-12-18 Thread pablosantosluac
Hi again,

Ok, forget the last one! It seems I'm getting a huge variation on Linux, but 
I don't know exactly why. But now I doubt it is really related to the "ssl" 
code.

As Sebastien pointed out, on Linux/Mono it seems my "fix" is not necessary 
at all.


And this leads me to the second question, related to the one I was 
discussing with Robert... why there is such a huge difference between runs?

I'm trying a simple remoting program that just exports a method which waits 
one second and returns a simple string.

Ok, having said so, using both a regular tcp channel and a "ssl channel" I'm 
getting very different times: from completing 200 connections in 7 seconds 
using SSL to doing the same in 180seconds...

The same happens with tcp connection: from 2 seconds for 200 connections to 
more than 90!

I guess this is related to something its been doing wrong with TCP/IP... 
¿?¿?¿?


Thanks,


pablo




----- Original Message - 
From: "pablosantosluac" <[EMAIL PROTECTED]>
To: "Sebastien Pouliot" <[EMAIL PROTECTED]>
Cc: "mono-devel-list" 
Sent: Tuesday, December 18, 2007 11:18 AM
Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream


> Hi again Sebastien,
>
> I tried to go step by step checking the topics you mentioned.
>
> I run my test (opening 200 SSL connections)
>
> 1- I tried compiling it with MS/.net 2.0. No difference at all. Same times
> as 1.1.
>
> 2- Run on my box: 1.4 Pentium M with 2GB RAM. (.NET)
>
> - Regular mono.security -> 58s
> - compiled mono.security "caching" (which I think is not general, so a
> different solution would be needed, but it is valid on my test) the mono
> internal certification calculation -> 31s
>
> 3- Tried on Mono/Linux (Xeon machine).
> - Regular mono.security -> 94 s
> - compiled mono.security caching internal X509 certificate generation -> 
> 47s
>
> Ok, I can be doing something wrong in my test, but it really looks like a
> big performance increase, even on Mono/Linux. The point is actually 
> caching
> into the Certificate the internal conversion to the Mono certificate, if
> possible.
>
>
> Thanks,
>
>
> pablo
>
>
>
>
>
>
>
>
> - Original Message - 
> From: "pablosantosluac" <[EMAIL PROTECTED]>
> To: "Sebastien Pouliot" <[EMAIL PROTECTED]>
> Cc: "mono-devel-list" 
> Sent: Tuesday, December 18, 2007 8:28 AM
> Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream
>
>
>> Hi Sebastien,
>>
>> Ok, understood.
>>
>> Well, I'll run it with the profiler under mono and let you know where I'm
>> loosing the time.
>>
>> So, yes, I have a big problem when running on .net then... :-(
>>
>> Ok, so, if I understand correctly, this RSA property at X509Certificate
>> class shouldn't take time when running under the mono framework, should
>> it?
>> It should be invoked anyway, but wouldn't waste time because the
>> CryptoServiceProvider is better implemented...
>>
>> Thanks,
>>
>> pablo
>>
>> - Original Message - 
>> From: "Sebastien Pouliot" <[EMAIL PROTECTED]>
>> To: "pablosantosluac" <[EMAIL PROTECTED]>
>> Cc: "mono-devel-list" 
>> Sent: Tuesday, December 18, 2007 1:07 AM
>> Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream
>>
>>
>>> Hey,
>>>
>>> On Mon, 2007-12-17 at 22:49 +0100, pablosantosluac wrote:
>>>> Hi again,
>>>>
>>>> >> Well, the line which is actually consuming 50% of the time is
>>>> >> new MonoX509.X509Certificate(serverCertificate.GetRawCertData());
>>>> >> inside the ServerContext constructor.
>>>> >
>>>> > Are you running this under Mono or MS runtime ?
>>>>
>>>> MS.
>>>
>>> well wrong mailing list ;-)
>>>
>>> Seriously 1.x frameworks* has a serious design flaw wrt to [RSA|
>>> DSA]CryptoServiceProvider classes (the former used by the SSL code).
>>> Each time one you create an instance of it then it *always* creates a
>>> new keypair - even if it is created to load an existing keypair. This
>>> makes the classes unusable for server applications.
>>>
>>> Mono design is different and a keypair is only created if (and when)
>>> required.
>>>
>>>
>>> * at least I think it was fixed in 2.0 - I've been bugging them to fix
>>> this since 1.0 beta2.
>>>
>>>> 

Re: [Mono-dev] SSL Channel implementation and SslServerStream

2007-12-18 Thread pablosantosluac
Hi again Sebastien,

I tried to go step by step checking the topics you mentioned.

I run my test (opening 200 SSL connections)

1- I tried compiling it with MS/.net 2.0. No difference at all. Same times 
as 1.1.

2- Run on my box: 1.4 Pentium M with 2GB RAM. (.NET)

- Regular mono.security -> 58s
- compiled mono.security "caching" (which I think is not general, so a 
different solution would be needed, but it is valid on my test) the mono 
internal certification calculation -> 31s

3- Tried on Mono/Linux (Xeon machine).
- Regular mono.security -> 94 s
- compiled mono.security caching internal X509 certificate generation -> 47s

Ok, I can be doing something wrong in my test, but it really looks like a 
big performance increase, even on Mono/Linux. The point is actually caching 
into the Certificate the internal conversion to the Mono certificate, if 
possible.


Thanks,


pablo








- Original Message - 
From: "pablosantosluac" <[EMAIL PROTECTED]>
To: "Sebastien Pouliot" <[EMAIL PROTECTED]>
Cc: "mono-devel-list" 
Sent: Tuesday, December 18, 2007 8:28 AM
Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream


> Hi Sebastien,
>
> Ok, understood.
>
> Well, I'll run it with the profiler under mono and let you know where I'm
> loosing the time.
>
> So, yes, I have a big problem when running on .net then... :-(
>
> Ok, so, if I understand correctly, this RSA property at X509Certificate
> class shouldn't take time when running under the mono framework, should 
> it?
> It should be invoked anyway, but wouldn't waste time because the
> CryptoServiceProvider is better implemented...
>
> Thanks,
>
> pablo
>
> - Original Message - 
> From: "Sebastien Pouliot" <[EMAIL PROTECTED]>
> To: "pablosantosluac" <[EMAIL PROTECTED]>
> Cc: "mono-devel-list" 
> Sent: Tuesday, December 18, 2007 1:07 AM
> Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream
>
>
>> Hey,
>>
>> On Mon, 2007-12-17 at 22:49 +0100, pablosantosluac wrote:
>>> Hi again,
>>>
>>> >> Well, the line which is actually consuming 50% of the time is
>>> >> new MonoX509.X509Certificate(serverCertificate.GetRawCertData());
>>> >> inside the ServerContext constructor.
>>> >
>>> > Are you running this under Mono or MS runtime ?
>>>
>>> MS.
>>
>> well wrong mailing list ;-)
>>
>> Seriously 1.x frameworks* has a serious design flaw wrt to [RSA|
>> DSA]CryptoServiceProvider classes (the former used by the SSL code).
>> Each time one you create an instance of it then it *always* creates a
>> new keypair - even if it is created to load an existing keypair. This
>> makes the classes unusable for server applications.
>>
>> Mono design is different and a keypair is only created if (and when)
>> required.
>>
>>
>> * at least I think it was fixed in 2.0 - I've been bugging them to fix
>> this since 1.0 beta2.
>>
>>> Running with a profiler. Mono results are currently slower, but it could
>>> be related to something else.
>>
>> If Mono is slower then this is probably elsewhere.
>>
>>> I'm having problems when creating more than 80
>>> threads/sockets. Don't know why yet.
>>>
>>>
>>> >> Of course it is related to the RSA calculation inside the MonoX509
>>> >> certificate.
>>> >
>>> > Please provide additional details as there is no RSA computation
>>> > required in the mentioned ctor.
>>> >
>>> >> I guess it could be catched
>>> >
>>> > you mean "cached" ?
>>>
>>> Yes, sorry, cached!
>>>
>>>
>>> >> when attending different clients
>>> >> with the same server certificate, which would improve overall
>>> >> performance
>>> >> (in my previous email I said it was only local to one client, but I
>>> >> was
>>> >> wrong).
>>> >
>>> > As I said this CANNOT be cached between a server and multiple clients
>>> > (a
>>> > little long to explain but it's how SSL is designed).
>>>
>>> Ok, whatever, there's a property called RSA inside the Mono X509
>>> certificate. This property gets invoked once per SSL connection, 
>>> actually
>>> calculating the same for each connection,
>>
>> Well it's not the same since this is a new key pair each time ;-) but
>> y

Re: [Mono-dev] SSL Channel implementation and SslServerStream

2007-12-17 Thread pablosantosluac
Hi Sebastien,

Ok, understood.

Well, I'll run it with the profiler under mono and let you know where I'm 
loosing the time.

So, yes, I have a big problem when running on .net then... :-(

Ok, so, if I understand correctly, this RSA property at X509Certificate 
class shouldn't take time when running under the mono framework, should it? 
It should be invoked anyway, but wouldn't waste time because the 
CryptoServiceProvider is better implemented...

Thanks,

pablo

- Original Message - 
From: "Sebastien Pouliot" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: "mono-devel-list" 
Sent: Tuesday, December 18, 2007 1:07 AM
Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream


> Hey,
>
> On Mon, 2007-12-17 at 22:49 +0100, pablosantosluac wrote:
>> Hi again,
>>
>> >> Well, the line which is actually consuming 50% of the time is
>> >> new MonoX509.X509Certificate(serverCertificate.GetRawCertData());
>> >> inside the ServerContext constructor.
>> >
>> > Are you running this under Mono or MS runtime ?
>>
>> MS.
>
> well wrong mailing list ;-)
>
> Seriously 1.x frameworks* has a serious design flaw wrt to [RSA|
> DSA]CryptoServiceProvider classes (the former used by the SSL code).
> Each time one you create an instance of it then it *always* creates a
> new keypair - even if it is created to load an existing keypair. This
> makes the classes unusable for server applications.
>
> Mono design is different and a keypair is only created if (and when)
> required.
>
>
> * at least I think it was fixed in 2.0 - I've been bugging them to fix
> this since 1.0 beta2.
>
>> Running with a profiler. Mono results are currently slower, but it could
>> be related to something else.
>
> If Mono is slower then this is probably elsewhere.
>
>> I'm having problems when creating more than 80
>> threads/sockets. Don't know why yet.
>>
>>
>> >> Of course it is related to the RSA calculation inside the MonoX509
>> >> certificate.
>> >
>> > Please provide additional details as there is no RSA computation
>> > required in the mentioned ctor.
>> >
>> >> I guess it could be catched
>> >
>> > you mean "cached" ?
>>
>> Yes, sorry, cached!
>>
>>
>> >> when attending different clients
>> >> with the same server certificate, which would improve overall 
>> >> performance
>> >> (in my previous email I said it was only local to one client, but I 
>> >> was
>> >> wrong).
>> >
>> > As I said this CANNOT be cached between a server and multiple clients 
>> > (a
>> > little long to explain but it's how SSL is designed).
>>
>> Ok, whatever, there's a property called RSA inside the Mono X509
>> certificate. This property gets invoked once per SSL connection, actually
>> calculating the same for each connection,
>
> Well it's not the same since this is a new key pair each time ;-) but
> yes it's unneeded
>
>> because it is just "completing"
>> (AFAIK) the server's certificate, if I'm not wrong, of course. I mean, 
>> the
>> certificate you pass to the SSLServerStream gets converted again and 
>> again,
>> and consuming time. If this can be cached, then the performance can be
>> really boosted. I think this is *just* the server's certificate, nothing 
>> to
>> do with the client (I guess). And yes, maybe it is not RSA calculation, 
>> but
>> this is the name of the property where the time is being spent... at 
>> least
>> under MS runtime.
>
> No, as I said, this is probably time "lost" doing unneeded keypair
> generation (but this is not the case for Mono).
>
>> pablo
>>
>>
>>
>> >>
>> >>
>> >> Regards,
>> >>
>> >>
>> >>
>> >> pablo
>> >>
>> >>
>> >>
>> >> - Original Message - 
>> >> From: "Sebastien Pouliot" <[EMAIL PROTECTED]>
>> >> To: "pablosantosluac" <[EMAIL PROTECTED]>
>> >> Cc: 
>> >> Sent: Monday, December 17, 2007 7:50 PM
>> >> Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream
>> >>
>> >>
>> >> > Hello Pablo,
>> >> >
>> >> > On Mon, 2007-12-17 at 17:21 +0100, pablosantosluac wrote:
>> >> >&

Re: [Mono-dev] Remoting and thread pool limits

2007-12-17 Thread pablosantosluac
Ok, so this are the ones to inspect then: ProcessMessages, 
ReceiveMessageStatus and StreamRead. Well, looks ok that they are the ones 
eating CPU (the system is processing requests), but... why they go worse 
when dealing with more than 80 threads?

Looking at the code I can't see anything at these methods... :-( I'll try to 
look into it again in more detail...

Thanks,

pablo

- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Monday, December 17, 2007 11:45 PM
Subject: Re: [Mono-dev] Remoting and thread pool limits


> Hi Pablo,
>
> pablosantosluac wrote:
>> Hi Robert,
>>
>> Do you think it is related to the thread creation?
>
> I don't think so. Most of the time is spent in TcpChannel:
>
> System.Runtime.Remoting.Channels.Tcp.ClientConnection::ProcessMessages()
> System.Runtime.Remoting.Channels.Tcp.TcpMessageIO::ReceiveMessageStatus(Stream,byte[])
> System.Runtime.Remoting.Channels.Tcp.TcpMessageIO::StreamRead(Stream,byte[],int)
>
> When I stop the test at 40 threads, these methods are not at the top
> anymore.
>
> Robert
>
>>
>> I'll run some tests with the mono profiler on Linux and try to figure out
>> where the time is being lost...
>>
>>
>> pablo
>>
>>
>>
>> - Original Message - 
>> From: "Robert Jordan" <[EMAIL PROTECTED]>
>> To: 
>> Sent: Saturday, December 15, 2007 9:25 PM
>> Subject: Re: [Mono-dev] Remoting and thread pool limits
>>
>>
>>> pablosantosluac wrote:
>>>> Well, it is not a *bug* but a feature. I wonder if it should be 
>>>> changed.
>>>> If
>>>> you look into RemotingThreadPool.cs there is a line like:
>>>>
>>>>
>>>> threadDone.WaitOne(PoolGrowDelay, false);
>>>>
>>>>
>>>> This one is actually the one making the process too slow. I'm afraid it
>>>> must
>>>> be something similar on the .NET code too!
>>>>
>>>> Of course removing this line the problem gets solved, but I guess there
>>>> is a
>>>> reason in the channel to do that.
>>> I noticed that too, but this doesn't solve the real problem: the 200
>>> thread test is still too slow on my machine. The degradation seems to
>>> start after 60-80 threads on my pretty weak SMP machine.
>>>
>>> Just to be sure,  I've replaced RemotingThreadPool with an own, simple
>>> version based on the standard BCL ThreadPool => same issue, although
>>> I've raised the env var MONO_THREADS_PER_CPU to an insane value.
>>>
>>> Robert
>>>
>>>>
>>>> pablo
>>>>
>>>>
>>>> - Original Message - 
>>>> From: "Robert Jordan" <[EMAIL PROTECTED]>
>>>> To: 
>>>> Sent: Saturday, December 15, 2007 4:12 PM
>>>> Subject: Re: [Mono-dev] Remoting and thread pool limits
>>>>
>>>>
>>>>> Hi,
>>>>>
>>>>> pablosantosluac wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I've found the following difference working with .NET and Mono
>>>>>> remoting.
>>>>>> In
>>>>>> .NET when the remoting ThreadPool reaches the pool's maximum (25
>>>>>> threads
>>>>>> per
>>>>>> process), it is able to continue creating new threads. In fact, you 
>>>>>> can
>>>>>> end
>>>>>> up having a remoting server with hundreds of threads.
>>>>>>
>>>>>> In mono the behaviour is different. Once the limit is reached it 
>>>>>> starts
>>>>>> refusing connections.
>>>>> This is unrelated to mono's remoting thread pool. You have probably
>>>>> ran your tests on Windows, where mono indeed fails with a GC failure
>>>>> when too many threads are created because the GC has a hard coded
>>>>> max thread count limit.
>>>>>
>>>>> On Linux (x86_64, Mono 1.2.6) I can finish the tests:
>>>>>
>>>>> Linux Mono client -> Linux Mono server (same machine)
>>>>>
>>>>> poseidon [~/foo] $ mono client/bin/Debug/client.exe
>>>>> tcp://localhost:8084/remote
>>>>> 1 - Time 1206 ms
>>>>> 5 - Time 2045 ms
>>>>> 10 - Time 3575 ms
>>>>> 20 - Time 8174 ms
>>>>>

Re: [Mono-dev] Remoting and thread pool limits

2007-12-17 Thread pablosantosluac
Hi Robert,

Do you think it is related to the thread creation?

I'll run some tests with the mono profiler on Linux and try to figure out 
where the time is being lost...


pablo



- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Saturday, December 15, 2007 9:25 PM
Subject: Re: [Mono-dev] Remoting and thread pool limits


> pablosantosluac wrote:
>> Well, it is not a *bug* but a feature. I wonder if it should be changed. 
>> If
>> you look into RemotingThreadPool.cs there is a line like:
>>
>>
>> threadDone.WaitOne(PoolGrowDelay, false);
>>
>>
>> This one is actually the one making the process too slow. I'm afraid it 
>> must
>> be something similar on the .NET code too!
>>
>> Of course removing this line the problem gets solved, but I guess there 
>> is a
>> reason in the channel to do that.
>
> I noticed that too, but this doesn't solve the real problem: the 200
> thread test is still too slow on my machine. The degradation seems to
> start after 60-80 threads on my pretty weak SMP machine.
>
> Just to be sure,  I've replaced RemotingThreadPool with an own, simple
> version based on the standard BCL ThreadPool => same issue, although
> I've raised the env var MONO_THREADS_PER_CPU to an insane value.
>
> Robert
>
>>
>>
>> pablo
>>
>>
>> ----- Original Message - 
>> From: "Robert Jordan" <[EMAIL PROTECTED]>
>> To: 
>> Sent: Saturday, December 15, 2007 4:12 PM
>> Subject: Re: [Mono-dev] Remoting and thread pool limits
>>
>>
>>> Hi,
>>>
>>> pablosantosluac wrote:
>>>> Hi,
>>>>
>>>> I've found the following difference working with .NET and Mono 
>>>> remoting.
>>>> In
>>>> .NET when the remoting ThreadPool reaches the pool's maximum (25 
>>>> threads
>>>> per
>>>> process), it is able to continue creating new threads. In fact, you can
>>>> end
>>>> up having a remoting server with hundreds of threads.
>>>>
>>>> In mono the behaviour is different. Once the limit is reached it starts
>>>> refusing connections.
>>> This is unrelated to mono's remoting thread pool. You have probably
>>> ran your tests on Windows, where mono indeed fails with a GC failure
>>> when too many threads are created because the GC has a hard coded
>>> max thread count limit.
>>>
>>> On Linux (x86_64, Mono 1.2.6) I can finish the tests:
>>>
>>> Linux Mono client -> Linux Mono server (same machine)
>>>
>>> poseidon [~/foo] $ mono client/bin/Debug/client.exe
>>> tcp://localhost:8084/remote
>>> 1 - Time 1206 ms
>>> 5 - Time 2045 ms
>>> 10 - Time 3575 ms
>>> 20 - Time 8174 ms
>>> 40 - Time 12055 ms
>>> 50 - Time 8185 ms
>>> 200 - Time 46150 ms
>>>
>>>
>>> MS.NET client -> Linux Mono server (different machines)
>>>
>>> troll:/cygdrive/u/foo/client/bin/Debug $ ./client.exe
>>> tcp://poseidon:8084/remote
>>> 1 - Time 1297 ms
>>> 5 - Time 2000 ms
>>> 10 - Time 3515 ms
>>> 20 - Time 6016 ms
>>> 40 - Time 11031 ms
>>> 50 - Time 6016 ms
>>> 200 - Time 94375 ms
>>>
>>>
>>> The numbers don't look very well, though. I promise to look at
>>> this when you file a bug report so that it doesn't get
>>> overlooked.
>>>
>>> Robert
>>>
>>> ___
>>> Mono-devel-list mailing list
>>> Mono-devel-list@lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] SSL Channel implementation and SslServerStream

2007-12-17 Thread pablosantosluac
Hi again,

>> Well, the line which is actually consuming 50% of the time is
>> new MonoX509.X509Certificate(serverCertificate.GetRawCertData());
>> inside the ServerContext constructor.
>
> Are you running this under Mono or MS runtime ?

MS. Running with a profiler. Mono results are currently slower, but it could 
be related to something else. I'm having problems when creating more than 80 
threads/sockets. Don't know why yet.


>> Of course it is related to the RSA calculation inside the MonoX509
>> certificate.
>
> Please provide additional details as there is no RSA computation
> required in the mentioned ctor.
>
>> I guess it could be catched
>
> you mean "cached" ?

Yes, sorry, cached!


>> when attending different clients
>> with the same server certificate, which would improve overall performance
>> (in my previous email I said it was only local to one client, but I was
>> wrong).
>
> As I said this CANNOT be cached between a server and multiple clients (a
> little long to explain but it's how SSL is designed).

Ok, whatever, there's a property called RSA inside the Mono X509 
certificate. This property gets invoked once per SSL connection, actually 
calculating the same for each connection, because it is just "completing" 
(AFAIK) the server's certificate, if I'm not wrong, of course. I mean, the 
certificate you pass to the SSLServerStream gets converted again and again, 
and consuming time. If this can be cached, then the performance can be 
really boosted. I think this is *just* the server's certificate, nothing to 
do with the client (I guess). And yes, maybe it is not RSA calculation, but 
this is the name of the property where the time is being spent... at least 
under MS runtime.

pablo



>>
>>
>> Regards,
>>
>>
>>
>> pablo
>>
>>
>>
>> - Original Message - 
>> From: "Sebastien Pouliot" <[EMAIL PROTECTED]>
>> To: "pablosantosluac" <[EMAIL PROTECTED]>
>> Cc: 
>> Sent: Monday, December 17, 2007 7:50 PM
>> Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream
>>
>>
>> > Hello Pablo,
>> >
>> > On Mon, 2007-12-17 at 17:21 +0100, pablosantosluac wrote:
>> >> Hi again,
>> >>
>> >> Well, looking into the ServerContext constructor: the code converts
>> >> between
>> >> the System.Security cert to a Mono cert. Ok, this calculation could be
>> >> skipped if a server is launching threads with the same certificate. 
>> >> The
>> >> performance hit "caching" this one is about a 50% (launching 350 
>> >> client
>> >> threads simultaneously).
>> >
>> > Sorry but this is confusing. Let me clear this up a bit so the answer
>> > will be meaningful when goggled in the future ;-)
>> >
>> > Converting the certificate between the minimal MS X509Certificate and
>> > the Mono.Security X509Certificate is a very simple process. This could
>> > be cached but this, alone, won't influence much performance.
>> >
>> > The key exchange does an expensive RSA operation, but it cannot be
>> > cached in ServerContext.
>> >
>> > Now what *could* help is implementing a session cache in the
>> > server[1][2]. However this helps only caching a session between the
>> > server and a single client - you cannot share a session between 
>> > multiple
>> > clients.
>> >
>> > That being said the server code won't scale to support, efficiently, 
>> > 350
>> > sessions. If you need high performance SSL code don't look at a managed
>> > implementation (and IMO consider hardware acceleration).
>> >
>> > [1] the SslClientStream already support session caching
>> > [2] contributions welcome
>> >
>> >>
>> >> I'll try to locate the next bottleneck
>> >
>> > All cryptographic operations, like key exchange, encryption, integrity,
>> > will show as a "bottleneck" - but they are exactly what you (should)
>> > seek by choosing SSL.
>> >
>> >>
>> >>
>> >> pablo
>> >>
>> >>
>> >> - Original Message - 
>> >> From: "pablosantosluac" <[EMAIL PROTECTED]>
>> >> To: 
>> >> Sent: Monday, December 17, 2007 4:23 PM
>> >> Subject: [Mono-dev] SSL Channel implementation and SslServerStream
>> >>
>> >>

Re: [Mono-dev] SSL Channel implementation and SslServerStream

2007-12-17 Thread pablosantosluac
Hi again,


Well, the line which is actually consuming 50% of the time is
new MonoX509.X509Certificate(serverCertificate.GetRawCertData());

inside the ServerContext constructor.



Of course it is related to the RSA calculation inside the MonoX509 
certificate. I guess it could be catched when attending different clients 
with the same server certificate, which would improve overall performance 
(in my previous email I said it was only local to one client, but I was 
wrong).



Regards,



pablo



- Original Message - 
From: "Sebastien Pouliot" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: 
Sent: Monday, December 17, 2007 7:50 PM
Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream


> Hello Pablo,
>
> On Mon, 2007-12-17 at 17:21 +0100, pablosantosluac wrote:
>> Hi again,
>>
>> Well, looking into the ServerContext constructor: the code converts 
>> between
>> the System.Security cert to a Mono cert. Ok, this calculation could be
>> skipped if a server is launching threads with the same certificate. The
>> performance hit "caching" this one is about a 50% (launching 350 client
>> threads simultaneously).
>
> Sorry but this is confusing. Let me clear this up a bit so the answer
> will be meaningful when goggled in the future ;-)
>
> Converting the certificate between the minimal MS X509Certificate and
> the Mono.Security X509Certificate is a very simple process. This could
> be cached but this, alone, won't influence much performance.
>
> The key exchange does an expensive RSA operation, but it cannot be
> cached in ServerContext.
>
> Now what *could* help is implementing a session cache in the
> server[1][2]. However this helps only caching a session between the
> server and a single client - you cannot share a session between multiple
> clients.
>
> That being said the server code won't scale to support, efficiently, 350
> sessions. If you need high performance SSL code don't look at a managed
> implementation (and IMO consider hardware acceleration).
>
> [1] the SslClientStream already support session caching
> [2] contributions welcome
>
>>
>> I'll try to locate the next bottleneck
>
> All cryptographic operations, like key exchange, encryption, integrity,
> will show as a "bottleneck" - but they are exactly what you (should)
> seek by choosing SSL.
>
>>
>>
>> pablo
>>
>>
>> - Original Message - 
>> From: "pablosantosluac" <[EMAIL PROTECTED]>
>> To: 
>> Sent: Monday, December 17, 2007 4:23 PM
>> Subject: [Mono-dev] SSL Channel implementation and SslServerStream
>>
>>
>> > Hi all,
>> >
>> > I'm implemented a secured TCP remoting channel. I took the current TCP
>> > Channel as starting point, and used Ssl{Client|Server}Stream to 
>> > implement
>> > communication, as Robert Jordan suggested.
>> >
>> > Well, it seems it works correctly but I've found the following issue:
>> > creating each new connection takes time (obviously), but it is 
>> > basically
>> > due
>> > to a call to "new ServerContext" inside the SslServerStream 
>> > constructor.
>> >
>> > The problem, in fact, seems related with the property
>> > X509Certificate::RSA.
>> > Each time a new connection is opened, a new certificate is given, and 
>> > the
>> > private key used.
>> >
>> > Is there a way to actually make all this initialization just once? It
>> > would
>> > greatly improve performance both in Mono and .NET.
>> >
>> > Any idea?
>> >
>> > thanks
>> >
>> > pablo
>> >
>> > ___
>> > Mono-devel-list mailing list
>> > Mono-devel-list@lists.ximian.com
>> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] SSL Channel implementation and SslServerStream

2007-12-17 Thread pablosantosluac
Hi Sebastien,


> Converting the certificate between the minimal MS X509Certificate and
> the Mono.Security X509Certificate is a very simple process. This could
> be cached but this, alone, won't influence much performance.

Well, actually caching the line I mentioned (I've already tried with the 
same sample I sent to the list last week, creating about 300 connections), 
increases performance about 50%, but yes, when connections are started from 
the same client.

> The key exchange does an expensive RSA operation, but it cannot be
> cached in ServerContext.

Yes, I've seen that too. I guess this is the other line I pointed.

> Now what *could* help is implementing a session cache in the
> server[1][2]. However this helps only caching a session between the
> server and a single client - you cannot share a session between multiple
> clients.

Right, this is more or less what I said, isn't it? I mean, caching somehow 
the initial RSA calculation done in the X509Certificate.

> That being said the server code won't scale to support, efficiently, 350
> sessions. If you need high performance SSL code don't look at a managed
> implementation (and IMO consider hardware acceleration).

Well, that's an interesting answer. Do you mean it is better to implement a 
high-perf server on C than Mono/C#? Or do you just talk about implementing a 
whole SSL channel in C? If so, how? Could you point any samples? I'm not 
familiar with SSL, which hw acceleration would do it better?

Thanks,

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] SSL Channel implementation and SslServerStream

2007-12-17 Thread pablosantosluac
Hi,

Ok, the next "bottleneck" seems to be at 
TlsClientKeyExchange::ProcessAsSsl3, more exactly at byte[] preMasterSecret 
= deformatter.DecryptKeyExchange(clientSecret);

But I guess it wont be possible to get rid of this one, will it?


Thanks,

pablo

- Original Message - 
From: "pablosantosluac" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>; 

Sent: Monday, December 17, 2007 5:21 PM
Subject: Re: [Mono-dev] SSL Channel implementation and SslServerStream


> Hi again,
>
> Well, looking into the ServerContext constructor: the code converts 
> between the System.Security cert to a Mono cert. Ok, this calculation 
> could be skipped if a server is launching threads with the same 
> certificate. The performance hit "caching" this one is about a 50% 
> (launching 350 client threads simultaneously).
>
>
> I'll try to locate the next bottleneck
>
>
> pablo
>
>
> - Original Message - 
> From: "pablosantosluac" <[EMAIL PROTECTED]>
> To: 
> Sent: Monday, December 17, 2007 4:23 PM
> Subject: [Mono-dev] SSL Channel implementation and SslServerStream
>
>
>> Hi all,
>>
>> I'm implemented a secured TCP remoting channel. I took the current TCP
>> Channel as starting point, and used Ssl{Client|Server}Stream to implement
>> communication, as Robert Jordan suggested.
>>
>> Well, it seems it works correctly but I've found the following issue:
>> creating each new connection takes time (obviously), but it is basically 
>> due
>> to a call to "new ServerContext" inside the SslServerStream constructor.
>>
>> The problem, in fact, seems related with the property 
>> X509Certificate::RSA.
>> Each time a new connection is opened, a new certificate is given, and the
>> private key used.
>>
>> Is there a way to actually make all this initialization just once? It 
>> would
>> greatly improve performance both in Mono and .NET.
>>
>> Any idea?
>>
>> thanks
>>
>> pablo
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] SSL Channel implementation and SslServerStream

2007-12-17 Thread pablosantosluac
Hi again,

Well, looking into the ServerContext constructor: the code converts between 
the System.Security cert to a Mono cert. Ok, this calculation could be 
skipped if a server is launching threads with the same certificate. The 
performance hit "caching" this one is about a 50% (launching 350 client 
threads simultaneously).


I'll try to locate the next bottleneck


pablo


- Original Message - 
From: "pablosantosluac" <[EMAIL PROTECTED]>
To: 
Sent: Monday, December 17, 2007 4:23 PM
Subject: [Mono-dev] SSL Channel implementation and SslServerStream


> Hi all,
>
> I'm implemented a secured TCP remoting channel. I took the current TCP
> Channel as starting point, and used Ssl{Client|Server}Stream to implement
> communication, as Robert Jordan suggested.
>
> Well, it seems it works correctly but I've found the following issue:
> creating each new connection takes time (obviously), but it is basically 
> due
> to a call to "new ServerContext" inside the SslServerStream constructor.
>
> The problem, in fact, seems related with the property 
> X509Certificate::RSA.
> Each time a new connection is opened, a new certificate is given, and the
> private key used.
>
> Is there a way to actually make all this initialization just once? It 
> would
> greatly improve performance both in Mono and .NET.
>
> Any idea?
>
> thanks
>
> pablo
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] SSL Channel implementation and SslServerStream

2007-12-17 Thread pablosantosluac
Hi all,

I'm implemented a secured TCP remoting channel. I took the current TCP 
Channel as starting point, and used Ssl{Client|Server}Stream to implement 
communication, as Robert Jordan suggested.

Well, it seems it works correctly but I've found the following issue: 
creating each new connection takes time (obviously), but it is basically due 
to a call to "new ServerContext" inside the SslServerStream constructor.

The problem, in fact, seems related with the property X509Certificate::RSA. 
Each time a new connection is opened, a new certificate is given, and the 
private key used.

Is there a way to actually make all this initialization just once? It would 
greatly improve performance both in Mono and .NET.

Any idea?

thanks

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Remoting and thread pool limits

2007-12-16 Thread pablosantosluac
Hi Robert,


Here are my numbers on a Linux  (Xeon) box:

[EMAIL PROTECTED] client]$ /opt/mono/bin/mono client.exe 
tcp://localhost:10020/remote
1 - Time 1296 ms
5 - Time 1023 ms
10 - Time 1025 ms
20 - Time 1031 ms
40 - Time 1041 ms
50 - Time 1041 ms
200 - Time 10126 ms

As you mentioned I can't currently understand the "hit" when creating 200 
threads because if you try to create them in a standalone application (a 
loop launching 1000 threads), it works perfectly... but doing remoting (I 
don't know where the problem can be), the impact is quite high... ¿Something 
socket related? (I doubt it!)

I'll take another look into the channel's code.

Regards,


pablo


- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Saturday, December 15, 2007 9:25 PM
Subject: Re: [Mono-dev] Remoting and thread pool limits


> pablosantosluac wrote:
>> Well, it is not a *bug* but a feature. I wonder if it should be changed. 
>> If
>> you look into RemotingThreadPool.cs there is a line like:
>>
>>
>> threadDone.WaitOne(PoolGrowDelay, false);
>>
>>
>> This one is actually the one making the process too slow. I'm afraid it 
>> must
>> be something similar on the .NET code too!
>>
>> Of course removing this line the problem gets solved, but I guess there 
>> is a
>> reason in the channel to do that.
>
> I noticed that too, but this doesn't solve the real problem: the 200
> thread test is still too slow on my machine. The degradation seems to
> start after 60-80 threads on my pretty weak SMP machine.
>
> Just to be sure,  I've replaced RemotingThreadPool with an own, simple
> version based on the standard BCL ThreadPool => same issue, although
> I've raised the env var MONO_THREADS_PER_CPU to an insane value.
>
> Robert
>
>>
>>
>> pablo
>>
>>
>> - Original Message - 
>> From: "Robert Jordan" <[EMAIL PROTECTED]>
>> To: 
>> Sent: Saturday, December 15, 2007 4:12 PM
>> Subject: Re: [Mono-dev] Remoting and thread pool limits
>>
>>
>>> Hi,
>>>
>>> pablosantosluac wrote:
>>>> Hi,
>>>>
>>>> I've found the following difference working with .NET and Mono 
>>>> remoting.
>>>> In
>>>> .NET when the remoting ThreadPool reaches the pool's maximum (25 
>>>> threads
>>>> per
>>>> process), it is able to continue creating new threads. In fact, you can
>>>> end
>>>> up having a remoting server with hundreds of threads.
>>>>
>>>> In mono the behaviour is different. Once the limit is reached it starts
>>>> refusing connections.
>>> This is unrelated to mono's remoting thread pool. You have probably
>>> ran your tests on Windows, where mono indeed fails with a GC failure
>>> when too many threads are created because the GC has a hard coded
>>> max thread count limit.
>>>
>>> On Linux (x86_64, Mono 1.2.6) I can finish the tests:
>>>
>>> Linux Mono client -> Linux Mono server (same machine)
>>>
>>> poseidon [~/foo] $ mono client/bin/Debug/client.exe
>>> tcp://localhost:8084/remote
>>> 1 - Time 1206 ms
>>> 5 - Time 2045 ms
>>> 10 - Time 3575 ms
>>> 20 - Time 8174 ms
>>> 40 - Time 12055 ms
>>> 50 - Time 8185 ms
>>> 200 - Time 46150 ms
>>>
>>>
>>> MS.NET client -> Linux Mono server (different machines)
>>>
>>> troll:/cygdrive/u/foo/client/bin/Debug $ ./client.exe
>>> tcp://poseidon:8084/remote
>>> 1 - Time 1297 ms
>>> 5 - Time 2000 ms
>>> 10 - Time 3515 ms
>>> 20 - Time 6016 ms
>>> 40 - Time 11031 ms
>>> 50 - Time 6016 ms
>>> 200 - Time 94375 ms
>>>
>>>
>>> The numbers don't look very well, though. I promise to look at
>>> this when you file a bug report so that it doesn't get
>>> overlooked.
>>>
>>> Robert
>>>
>>> ___
>>> Mono-devel-list mailing list
>>> Mono-devel-list@lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Remoting and thread pool limits

2007-12-15 Thread pablosantosluac
Well, it is not a *bug* but a feature. I wonder if it should be changed. If 
you look into RemotingThreadPool.cs there is a line like:


threadDone.WaitOne(PoolGrowDelay, false);


This one is actually the one making the process too slow. I'm afraid it must 
be something similar on the .NET code too!

Of course removing this line the problem gets solved, but I guess there is a 
reason in the channel to do that.


pablo


- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Saturday, December 15, 2007 4:12 PM
Subject: Re: [Mono-dev] Remoting and thread pool limits


> Hi,
>
> pablosantosluac wrote:
>> Hi,
>>
>> I've found the following difference working with .NET and Mono remoting. 
>> In
>> .NET when the remoting ThreadPool reaches the pool's maximum (25 threads 
>> per
>> process), it is able to continue creating new threads. In fact, you can 
>> end
>> up having a remoting server with hundreds of threads.
>>
>> In mono the behaviour is different. Once the limit is reached it starts
>> refusing connections.
>
> This is unrelated to mono's remoting thread pool. You have probably
> ran your tests on Windows, where mono indeed fails with a GC failure
> when too many threads are created because the GC has a hard coded
> max thread count limit.
>
> On Linux (x86_64, Mono 1.2.6) I can finish the tests:
>
> Linux Mono client -> Linux Mono server (same machine)
>
> poseidon [~/foo] $ mono client/bin/Debug/client.exe
> tcp://localhost:8084/remote
> 1 - Time 1206 ms
> 5 - Time 2045 ms
> 10 - Time 3575 ms
> 20 - Time 8174 ms
> 40 - Time 12055 ms
> 50 - Time 8185 ms
> 200 - Time 46150 ms
>
>
> MS.NET client -> Linux Mono server (different machines)
>
> troll:/cygdrive/u/foo/client/bin/Debug $ ./client.exe
> tcp://poseidon:8084/remote
> 1 - Time 1297 ms
> 5 - Time 2000 ms
> 10 - Time 3515 ms
> 20 - Time 6016 ms
> 40 - Time 11031 ms
> 50 - Time 6016 ms
> 200 - Time 94375 ms
>
>
> The numbers don't look very well, though. I promise to look at
> this when you file a bug report so that it doesn't get
> overlooked.
>
> Robert
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Remoting and thread pool limits

2007-12-15 Thread pablosantosluac
Hi,

I've found the following difference working with .NET and Mono remoting. In 
.NET when the remoting ThreadPool reaches the pool's maximum (25 threads per 
process), it is able to continue creating new threads. In fact, you can end 
up having a remoting server with hundreds of threads.

In mono the behaviour is different. Once the limit is reached it starts 
refusing connections.

The other drawback of the standard (1.1) remoting (.NET) is that once the 
thread pool limit is reached, each new thread takes a lng time. In fact, 
replacing the standard TCP channel by, for instance, the GenuineChannels 
one, performance gets increased under heavy load.

The attached code creates a remoting server which implements one method. The 
method is really simple:
public string GetVal()
{
Console.WriteLine("GetVal() - ThId:{0}", 
Thread.CurrentThread.GetHashCode());
Thread.Sleep(1000);
return "Hi There";
}

Well, if you have a client launching 200 threads at the same time and 
calling the server, it should take about 1 second to complete. Here are my 
results using .NET (it doesn't finish with mono)

1 - Time 1102 ms
5 - Time 1011 ms
10 - Time 1002 ms
20 - Time 1011 ms
40 - Time 2003 ms
50 - Time 2013 ms
200 - Time 6019 ms

Using GenuineChannels (the difference here is how they implement the 
threadpool), all get about 1 sec to finish.


Please find the sample code at 
http://www.codicesoftware.com/testing/remotingtransmission.rar


Regards,


pablo

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] The best way to secure remoting?

2007-12-05 Thread pablosantosluac
Ok Robert, thanks!


Well, I guess I'd have to modify TcpServerChannel.cs  and 
TcpClientChannel.cs (I mean, create new ones) to use secured sockets or 
introduce some sort of encryption there... is that ok? Well, in fact I guess 
the code at TcpServerChannel is the one actually using sockets, isn't it?

About SSL, I've found the following C# SSL library: 
http://www.mentalis.org/soft/projects/seclib/. Is there a better option?

Thanks!

pablo

- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Tuesday, December 04, 2007 4:01 PM
Subject: Re: [Mono-dev] The best way to secure remoting?


> pablosantosluac wrote:
>> Thanks for your answer Robert.
>>
>> The problem is that I can't host my objects on XSP (plasticd is actually 
>> a
>> service or a daemon, but not a hosted XSP) neither use SOAP
>> (performance!)...
>
> I see. You could make a copy of TcpChannel and change it to
> encrypt the data. Since TcpChannel already has a connection
> pool, it should be already well prepared for SSL.
> Two days of work, I'd guess.
>
> Unfortunately, the remoting infrastructure is not flexible enough
> to allow other solutions. One could be deluded to implement
> encryption as a channel sink, but this is really suboptimal
> because you don't have sessions at this layer.
> W/out sessions, SSL (and any other symmetric encryption that needs
> an asymmetric key exchange phase) will be extremely slow.
>
> Robert
>
>>
>>
>> pablo
>>
>>
>> - Original Message - 
>> From: "Robert Jordan" <[EMAIL PROTECTED]>
>> To: 
>> Sent: Monday, December 03, 2007 10:35 PM
>> Subject: Re: [Mono-dev] The best way to secure remoting?
>>
>>
>>> pablosantosluac wrote:
>>>> Hi there,
>>>>
>>>> AFAIK with .net 2.0 SSL is an standard channel, isn't it?
>>> No, in MS.NET 2.0 it is based on NegotiateStream that uses
>>> whichever authentication and encryption Windows SSPI dictates.
>>> See MSDN.
>>>
>>>> But my question is: if I want to keep the mono-1.0 profile... what's 
>>>> the
>>>> best way to secure remoting communication?
>>> Host your remoting objects in XSP and use HttpChannel + SOAP formatter
>>> over SSL.
>>>
>>> Robert
>>>
>>> ___
>>> Mono-devel-list mailing list
>>> Mono-devel-list@lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] The best way to secure remoting?

2007-12-04 Thread pablosantosluac
Thanks for your answer Robert.

The problem is that I can't host my objects on XSP (plasticd is actually a 
service or a daemon, but not a hosted XSP) neither use SOAP 
(performance!)...


pablo


- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Monday, December 03, 2007 10:35 PM
Subject: Re: [Mono-dev] The best way to secure remoting?


> pablosantosluac wrote:
>> Hi there,
>>
>> AFAIK with .net 2.0 SSL is an standard channel, isn't it?
>
> No, in MS.NET 2.0 it is based on NegotiateStream that uses
> whichever authentication and encryption Windows SSPI dictates.
> See MSDN.
>
>> But my question is: if I want to keep the mono-1.0 profile... what's the
>> best way to secure remoting communication?
>
> Host your remoting objects in XSP and use HttpChannel + SOAP formatter
> over SSL.
>
> Robert
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] The best way to secure remoting?

2007-12-03 Thread pablosantosluac
Hi there,

AFAIK with .net 2.0 SSL is an standard channel, isn't it?

But my question is: if I want to keep the mono-1.0 profile... what's the 
best way to secure remoting communication?

Thanks!

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] [U-SPAM] Re: String.GetHashCode()

2007-12-03 Thread pablosantosluac
I don't see the moment to try it with the plastic server... :-P
- Original Message - 
From: "Miguel de Icaza" <[EMAIL PROTECTED]>
To: "Andreas Nahr" <[EMAIL PROTECTED]>
Cc: "'Robert Jordan'" <[EMAIL PROTECTED]>; 
Sent: Monday, December 03, 2007 3:45 PM
Subject: Re: [Mono-dev] [U-SPAM] Re: String.GetHashCode()


> Hello,
> 
>First of all, I love the idea.
> 
>> Don't forget that 4 bytes per Hashcode isn't enough. You also need a
>> boolean to store if the hash is already computed (as e.g. 0 is a valid
>> hash, too).
> 
>You could assume that any string over N would contain the
> precomputed hashcode immediately after the string in a sizeof(IntPtr)
> aligned 32-bit location.
> 
>What the N should still be measured.
> 
> Miguel
>> 
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] mono-service and log4net

2007-11-27 Thread pablosantosluac
Well, Jörg pointed out the following: I'm not implementing the 
ServiceBase.Run method but just the OnStart which in turn launches a new 
thread. Maybe this is not the correct way to do it (although it has been 
running this way for almost 2 years now).

It does call Main (I've just checked) but, could happen that it makes some 
other change afterwards (I don't know, a different app domain or something 
like that...) ?


- Original Message - 
From: "Mirco Bauer" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: ; "Robert Jordan" <[EMAIL PROTECTED]>
Sent: Tuesday, November 27, 2007 6:08 PM
Subject: Re: [Mono-dev] mono-service and log4net


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] mono-service and log4net

2007-11-27 Thread pablosantosluac
Hi again,


Well, if you set up logging in the service OnStart method... it works! :-)

If you just initialize it on the application's Main method it works on 
Windows but not on Linux.


Not sure whether it is a bug...

pablo


- Original Message - 
From: "pablosantosluac" <[EMAIL PROTECTED]>
To: ; "Robert Jordan" <[EMAIL PROTECTED]>
Sent: Tuesday, November 27, 2007 2:23 PM
Subject: Re: [Mono-dev] mono-service and log4net


> I'm afraid is not .NET 2. I'll make some more tests and file a bug
> otherwise.
>
> pablo
> - Original Message - 
> From: "Robert Jordan" <[EMAIL PROTECTED]>
> To: 
> Sent: Tuesday, November 27, 2007 2:16 PM
> Subject: Re: [Mono-dev] mono-service and log4net
>
>
>> pablosantosluac wrote:
>>> Hi there,
>>>
>>> I'm trying mono-service (1.2.6 preview 2) to launch our server and I've
>>> located the following problem: log4net doesn't work when you run the
>>> process
>>> as a service, although it does work when you launch it as a "console"
>>> application.
>>>
>>> As soon as I launch it as "service" I can't get any log. The same works
>>> on
>>> Windows/.NET.
>>
>> If you application is compiled for .NET 2.0 then you must use
>> mono-service2. Please file a bug with a test case otherwise.
>>
>> Robert
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] mono-service and log4net

2007-11-27 Thread pablosantosluac
I'm afraid is not .NET 2. I'll make some more tests and file a bug 
otherwise.

pablo
- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Tuesday, November 27, 2007 2:16 PM
Subject: Re: [Mono-dev] mono-service and log4net


> pablosantosluac wrote:
>> Hi there,
>>
>> I'm trying mono-service (1.2.6 preview 2) to launch our server and I've
>> located the following problem: log4net doesn't work when you run the 
>> process
>> as a service, although it does work when you launch it as a "console"
>> application.
>>
>> As soon as I launch it as "service" I can't get any log. The same works 
>> on
>> Windows/.NET.
>
> If you application is compiled for .NET 2.0 then you must use
> mono-service2. Please file a bug with a test case otherwise.
>
> Robert
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] mono-service and log4net

2007-11-27 Thread pablosantosluac
Hi there,

I'm trying mono-service (1.2.6 preview 2) to launch our server and I've 
located the following problem: log4net doesn't work when you run the process 
as a service, although it does work when you launch it as a "console" 
application.

As soon as I launch it as "service" I can't get any log. The same works on 
Windows/.NET.

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Set process name on solaris and mac

2007-11-27 Thread pablosantosluac
Hi there!

I've found the following about changing the process name on Linux:
http://abock.org/2006/02/09/changing-process-name-in-mono/

Any pointer on how to do it on Solaris and MacOS?

Thanks,

pablo
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] ToString() performace in Mono

2007-11-22 Thread pablosantosluac
well, we tried but it doesn't get a big speed up... just about 2 to 5%
  - Original Message - 
  From: Alan McGovern 
  To: Petit Eric 
  Cc: pablosantosluac ; mono-devel-list@lists.ximian.com 
  Sent: Thursday, November 22, 2007 3:23 PM
  Subject: Re: [Mono-dev] ToString() performace in Mono


  StringBuilder is only faster if you're concatenating a lot of variables. In 
this case, there's no benefit to using stringbuilder. If he was concatenating 
all the numbers from i=0->1000, then yes, a stringbuilder would be better. 

  It might be worth cracking out a profiler and seeing where the time is spent.

  As NumberStore is a struct, you would get a performance boost if it was 
passed by ref as opposed to be value. I'd guesstimate that it'd be at least a 
double digit increase (> 10%). If someone has the time to modify their mono 
checkout to change the Int32.ToString() codepath to pass the NumberStore by ref 
all the way through, let me know what the performance diff is.

  It should only take about 10 mins of hacking to do the change. If the boost 
is significant enough, maybe a patch would be accepted into mono to do this. 

  Alan.


  On Nov 22, 2007 11:26 AM, Petit Eric <[EMAIL PROTECTED]> wrote:

2007/11/22, pablosantosluac <[EMAIL PROTECTED]>:
> Hi,
>

> Ok, but I'm not doing string "concat" but just converting to string, and 
> using StringBuilder in this scenario, it isn't faster, as you have just
> pointed to...

yes complety right, but the first idea was about the fact for string
performance, stringbuilder is fastest, but aparently not at the 
instance time, only to append a long text.
oki
now we are fixed lol

>
> My point is that ToString is about 3 times slower in Mono than its .NET
> counterpart. We'll try to get rid of it as much as we can, but some 
> optimization would be really great.
>
> Thanks,
>
> pablo
>
    >
> - Original Message -
> From: "Petit Eric" < [EMAIL PROTECTED]>
> To: "pablosantosluac" <[EMAIL PROTECTED]>
> Cc: 
> Sent: Thursday, November 22, 2007 11:56 AM
> Subject: Re: [Mono-dev] ToString() performace in Mono
>
>
> > Windows and String
> > val is 599 and time 4391
> > 
> > Windows and StringBuilder
> > val is 599 and time 5688
> >
> > Code For StringBuilder :
> >
> > using System;
> > using System.Collections.Generic;
> > using System.Text;
> >
> > namespace compareCompare
> > {
> >class Program
> >{
> >static void Main(string[] args)
> >{
> >int ini = Environment.TickCount;
> >
> >System.Text.StringBuilder k = new 
System.Text.StringBuilder();
> >
> >for (int i = 0; i < 600; ++i)
> >{ 
> >k = new System.Text.StringBuilder(i.ToString());
> >}
> >
> >    Console.WriteLine("val is {0} and time {1}", k,
> > Environment.TickCount - ini);
> >
> >while (true)
> >{
> >if (Console.ReadKey() != null) break;
> >}
    > >
    > >}
> >} 
> > }
> >
> >
> >
> >
> > 2007/11/22, pablosantosluac <[EMAIL PROTECTED]>:
> >> Anyway, how would you use it in the sample I attached to improve 
> >> performance? I need to convert a different integer each pass...
> >> - Original Message -
> >> From: "Petit Eric" <[EMAIL PROTECTED] >
> >> To: "pablosantosluac" <[EMAIL PROTECTED]>
> >> Cc: 
> >> Sent: Thursday, November 22, 2007 10:24 AM
> >> Subject: Re: [Mono-dev] ToString() performace in Mono
> >>
> >>
> >> > Do you try to replace String by a System.Text.StringBuilder ?
> >> >
> >> > 2007/11/22, pablosantosluac <[EMAIL PROTECTED]>:
> >> >> Hi,
> >> >> 
> >> >>
> >> >> I've detected a performance hit on "plastic server" running on 
mono. I
> >> >> was
> >> >> actually shocked because when I checked something similar working 
with 
> >> >> integers, Mono was actually faster than .NET. But it seems 

Re: [Mono-dev] ToString() performace in Mono

2007-11-22 Thread pablosantosluac
Hi,

Ok, but I'm not doing string "concat" but just converting to string, and 
using StringBuilder in this scenario, it isn't faster, as you have just 
pointed to...

My point is that ToString is about 3 times slower in Mono than its .NET 
counterpart. We'll try to get rid of it as much as we can, but some 
optimization would be really great.

Thanks,

pablo


- Original Message - 
From: "Petit Eric" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: 
Sent: Thursday, November 22, 2007 11:56 AM
Subject: Re: [Mono-dev] ToString() performace in Mono


> Windows and String
> val is 599 and time 4391
>
> Windows and StringBuilder
> val is 599 and time 5688
>
> Code For StringBuilder :
>
> using System;
> using System.Collections.Generic;
> using System.Text;
>
> namespace compareCompare
> {
>class Program
>{
>static void Main(string[] args)
>{
>int ini = Environment.TickCount;
>
>System.Text.StringBuilder k = new System.Text.StringBuilder();
>
>for (int i = 0; i < 600; ++i)
>{
>k = new System.Text.StringBuilder(i.ToString());
>}
>
>Console.WriteLine("val is {0} and time {1}", k,
> Environment.TickCount - ini);
>
>while (true)
>{
>if (Console.ReadKey() != null) break;
>}
>
>}
>}
> }
>
>
>
>
> 2007/11/22, pablosantosluac <[EMAIL PROTECTED]>:
>> Anyway, how would you use it in the sample I attached to improve
>> performance? I need to convert a different integer each pass...
>> - Original Message -
>> From: "Petit Eric" <[EMAIL PROTECTED]>
>> To: "pablosantosluac" <[EMAIL PROTECTED]>
>> Cc: 
>> Sent: Thursday, November 22, 2007 10:24 AM
>> Subject: Re: [Mono-dev] ToString() performace in Mono
>>
>>
>> > Do you try to replace String by a System.Text.StringBuilder ?
>> >
>> > 2007/11/22, pablosantosluac <[EMAIL PROTECTED]>:
>> >> Hi,
>> >>
>> >>
>> >> I've detected a performance hit on "plastic server" running on mono. I
>> >> was
>> >> actually shocked because when I checked something similar working with
>> >> integers, Mono was actually faster than .NET. But it seems it is not 
>> >> the
>> >> case with strings.
>> >>
>> >> Please consider the following code sample:
>> >>
>> >>
>> >> using System;
>> >>
>> >> namespace compareCompare
>> >> {
>> >> class Class1
>> >> {
>> >> static void Main(string[] args)
>> >> {
>> >> int ini = Environment.TickCount;
>> >>
>> >> string k = string.Empty;
>> >>
>> >> for( int i = 0; i < 600; ++i )
>> >> {
>> >> k = i.ToString();
>> >> }
>> >>
>> >> Console.WriteLine("val is {0} and time {1}", k,
>> >> Environment.TickCount - ini);
>> >> }
>> >> }
>> >> }
>> >>
>> >>
>> >> And the following results:
>> >>
>> >> >compareCompare.exe
>> >> val is 599 and time 3525
>> >>
>> >> >"c:\Archivos de programa\Mono-1.2.5.2\bin\mono.exe" 
>> >> >compareCompare.exe
>> >> val is 599 and time 11577
>> >>
>> >>
>> >> Thanks,
>> >>
>> >>
>> >> pablo
>> >>
>> >> ___
>> >> Mono-devel-list mailing list
>> >> Mono-devel-list@lists.ximian.com
>> >> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> >>
>>
>> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] ToString() performace in Mono

2007-11-22 Thread pablosantosluac
Anyway, how would you use it in the sample I attached to improve 
performance? I need to convert a different integer each pass...
- Original Message - 
From: "Petit Eric" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: 
Sent: Thursday, November 22, 2007 10:24 AM
Subject: Re: [Mono-dev] ToString() performace in Mono


> Do you try to replace String by a System.Text.StringBuilder ?
>
> 2007/11/22, pablosantosluac <[EMAIL PROTECTED]>:
>> Hi,
>>
>>
>> I've detected a performance hit on "plastic server" running on mono. I 
>> was
>> actually shocked because when I checked something similar working with
>> integers, Mono was actually faster than .NET. But it seems it is not the
>> case with strings.
>>
>> Please consider the following code sample:
>>
>>
>> using System;
>>
>> namespace compareCompare
>> {
>> class Class1
>> {
>> static void Main(string[] args)
>> {
>> int ini = Environment.TickCount;
>>
>> string k = string.Empty;
>>
>> for( int i = 0; i < 600; ++i )
>> {
>> k = i.ToString();
>> }
>>
>> Console.WriteLine("val is {0} and time {1}", k,
>> Environment.TickCount - ini);
>> }
>> }
>> }
>>
>>
>> And the following results:
>>
>> >compareCompare.exe
>> val is 599 and time 3525
>>
>> >"c:\Archivos de programa\Mono-1.2.5.2\bin\mono.exe" compareCompare.exe
>> val is 599 and time 11577
>>
>>
>> Thanks,
>>
>>
>> pablo
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] ToString() performace in Mono

2007-11-22 Thread pablosantosluac
I can try for this sample, but I'm afraid the ToString is being implicity 
used in several locations
- Original Message - 
From: "Petit Eric" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: 
Sent: Thursday, November 22, 2007 10:24 AM
Subject: Re: [Mono-dev] ToString() performace in Mono


> Do you try to replace String by a System.Text.StringBuilder ?
>
> 2007/11/22, pablosantosluac <[EMAIL PROTECTED]>:
>> Hi,
>>
>>
>> I've detected a performance hit on "plastic server" running on mono. I 
>> was
>> actually shocked because when I checked something similar working with
>> integers, Mono was actually faster than .NET. But it seems it is not the
>> case with strings.
>>
>> Please consider the following code sample:
>>
>>
>> using System;
>>
>> namespace compareCompare
>> {
>> class Class1
>> {
>> static void Main(string[] args)
>> {
>> int ini = Environment.TickCount;
>>
>> string k = string.Empty;
>>
>> for( int i = 0; i < 600; ++i )
>> {
>> k = i.ToString();
>> }
>>
>> Console.WriteLine("val is {0} and time {1}", k,
>> Environment.TickCount - ini);
>> }
>> }
>> }
>>
>>
>> And the following results:
>>
>> >compareCompare.exe
>> val is 599 and time 3525
>>
>> >"c:\Archivos de programa\Mono-1.2.5.2\bin\mono.exe" compareCompare.exe
>> val is 599 and time 11577
>>
>>
>> Thanks,
>>
>>
>> pablo
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] ToString() performace in Mono

2007-11-22 Thread pablosantosluac
Hi,


I've detected a performance hit on "plastic server" running on mono. I was 
actually shocked because when I checked something similar working with 
integers, Mono was actually faster than .NET. But it seems it is not the 
case with strings.

Please consider the following code sample:


using System;

namespace compareCompare
{
class Class1
{
static void Main(string[] args)
{
int ini = Environment.TickCount;

string k = string.Empty;

for( int i = 0; i < 600; ++i )
{
k = i.ToString();
}

Console.WriteLine("val is {0} and time {1}", k, 
Environment.TickCount - ini);
}
}
}


And the following results:

>compareCompare.exe
val is 599 and time 3525

>"c:\Archivos de programa\Mono-1.2.5.2\bin\mono.exe" compareCompare.exe
val is 599 and time 11577


Thanks,


pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Remoting question

2007-11-16 Thread pablosantosluac
Yes, it is possible, we do it all the time
- Original Message - 
From: <[EMAIL PROTECTED]>
To: 
Sent: Friday, November 16, 2007 1:26 AM
Subject: [Mono-dev] Remoting question


> Hi to all:
> 
> Is posbile to use Mono.Remotng with classes that have methods with class 
> return type or object as return?
> 
> thanks
> 
> Mauricio
> 
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] MonoSummit: Planning the Sessions

2007-11-08 Thread pablosantosluac
AFAIK is heavily based in COM
- Original Message - 
From: "Miguel de Icaza" <[EMAIL PROTECTED]>
To: "Jonathan Pobst" <[EMAIL PROTECTED]>
Cc: "Brock Reeve" <[EMAIL PROTECTED]>; 
Sent: Thursday, November 08, 2007 6:06 PM
Subject: Re: [Mono-dev] MonoSummit: Planning the Sessions


> 
>> I don't know that anyone has reverse engineered the remote debugging 
>> protocol to enable it to run on another platform, and my gut feeling is 
>> it would be extremely difficult to achieve.
> 
> Am not sure that we need to reverse engineer the protocol;   Chances are
> there is an API in Visual Studio to do this, as Mainsoft does this to
> debug Java code on J2EE servers.
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono Bugs Days.

2007-11-05 Thread pablosantosluac
Hi there!

I'd like to know whether bug 82550 (fixed on SVN changeset 84714) will be 
integrated into mono 1.2.6.

AFAIK it is still wrong in latest 1.2.5

It is a compiler problem so it would be nice to get it in the next one.

pablo

- Original Message - 
From: "Miguel de Icaza" <[EMAIL PROTECTED]>
To: "mono-devel-list" 
Sent: Saturday, November 03, 2007 7:59 PM
Subject: [Mono-dev] Mono Bugs Days.


> On Monday and Tuesday (November 5th and 6th) we want to
> spend some time triaging, prioritizing and applying easy fixes
> to Mono from Bugzilla.
>
> We will be on irc.gnome.org on the channel #monobugday on
> Monday and Tuesday going over various Mono components.
>
> Our entry point is:
>
> www.mono-project.com/Bugs
>
> There is a lot of low-hanging fruit that could be easily
> fixed in Mono, bugs that are invalid, bugs that are missing
> information, bugs that needs owners,  bugs that need
> confirmation and patches that have been waiting on the bug
> tracking system to be applied.
>
> I have zero experience running a bug day and am not sure
> quite how to run this on Monday, if you have some experience,
> feel free to drop by, or send your comments.
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] MonoSummit: Planning the Sessions

2007-10-30 Thread pablosantosluac
> Also I am thinking about another one that could explain how to run the
> unit tests successfully across many operating systems

:-) Take a look at pnunit.codicesoftware.com, which will be (hopefuly) 
integrated in the upcoming NUnit.

If anyone is interested... I'm available!

- Original Message - 
From: ""Andrés G. Aragoneses [ knocte ]"" <[EMAIL PROTECTED]>
To: 
Cc: <[EMAIL PROTECTED]>
Sent: Monday, October 29, 2007 6:11 PM
Subject: Re: [Mono-dev] MonoSummit: Planning the Sessions


Mads Bondo Dydensborg escribió:
> fredag 26 Oktober 2007 skrev Miguel de Icaza:
>> Hey folks,
>>
>> Am looking for ideas for topics that developers would be interested
>> in hearing about at the Mono Summit.
>
> I would be happy to hear about debugging applications with mono, the state 
> of
> the debugger, etc.
>
> Also, in relation to this, debugging mono itself: when you _really_ think 
> what
> you observe is not a bug in your program, how to go about checking mono
> against the C# standard, MS implementation, whatever.

I would love that BoF!
Also I am thinking about another one that could explain how to run the
unit tests successfully across many operating systems. I'm interested in
contributing some patches but first I have to understand how to launch
these tests in MS.NET using Cygwin, in order to see if my unit tests are
correct or not. I don't have enough time to dive into the loop of
test-error-test-error to find it out (maybe this could be a good section
in the already existing planned activity by Marcos Cobeña.. I don't know).

Regards,

Andrés [ knocte ]

-- 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] C bindings VS C++ bindings (Gtk# vs. Kimono?)

2007-09-26 Thread pablosantosluac
Hi Arno,

Do you know what will be the costs for commercial use??

Also, do you have plans to support MacOS and Solaris? If so, when?

Thanks,

pablo

- Original Message - 
From: "Arno Rehn" <[EMAIL PROTECTED]>
To: 
Sent: Saturday, September 22, 2007 6:48 PM
Subject: Re: [Mono-dev] C bindings VS C++ bindings (Gtk# vs. Kimono?)


> Hi,
>
> I'm one of the Qyoto devs and have just come across this thread.
> First off, I'm glad that even companies consider Qyoto an option for the 
> GUI
> by now and that quite some people have heard about it.
> To be honest, we haven't tested Qyoto on Windows yet, but it should work
> pretty flawlessly. On Linux and Mac OS X at least it works well. GUI's are
> designed with the normal Qt Designer. Code can be generated with the
> resulting .ui files and a program called 'uics'.
> For the licensing: we can use a dual-license model for Qyoto/Kimono, like 
> it's
> done with PyQt and Qt itself: GPL for open-source apps, QPL-like for 
> closed
> source.
> For theming: Qt uses the native API on Windows/Mac as far as possible, so 
> the
> look and feel is native.
> The API of Qt is also quite stable throughout a major version, but some 
> minor
> things might change from time to time.
>
> To do some advertising: Qt does not only offer a GUI Toolkit, but also 
> some
> other interesting features like SQL handling, SVG support, OpenGL support,
> D-BUS support (one feature of D-BUS is a bit buggy on Qyoto, though),
> Networking and more.
>
> -- 
> Arno Rehn
> [EMAIL PROTECTED]
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Linq sample?

2007-09-25 Thread pablosantosluac
Hi,

Well, I've just tried some simple tests yet, but I'd say performance is 
awsome... I mean, searching in an array of 120 Million objects, using about 
1GB RAM looking for a simple query checking a couple of properties needed 
only 185ms to finish!!!

Doing it iteratively (looping through the array) took 284ms against 3 in a 
12Million array (linq is faster!).


So, I didn't look at it in detail, but it looks pretty impressive!!

pablo

- Original Message - 
From: "Marek Safar" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: "Kamil Skalski" <[EMAIL PROTECTED]>; "Robert Jordan" 
<[EMAIL PROTECTED]>; 
Sent: Monday, September 24, 2007 7:33 PM
Subject: Re: [Mono-dev] Linq sample?


> Hi,
>> Well, I guess I'm doing something wrong or using an old mono runtime, 
>> because the sample is very simple. Does it work for you?
>>
> Yes, it does. Please use SVN HEAD.
>> Another question: is Linq performace good?
>>
> We are currently not in the position where we can focus on LINQ 
> performance.
>
> As far as I know nobody have tested Mono LINQ performance yet.
>
> Marek 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Linq sample?

2007-09-25 Thread pablosantosluac
Oh... come on! I was so happy! :-(

Here is my code: it is just a dumb test. Note I commented out the 
"console.writeline" line.

I'm not using SQL, just searching in an in-memory array...

One question too, I'm totally new to linq so, is there a way to build the 
queries dynamically? I mean, maybe something like building them from a 
string that you can build at runtime or so??

pablo


using System;
using System.Linq;
using System.Collections.Generic;

namespace test
{

class Revision
{
public long ObjId;
public long RevNo;
public long BranchId;
public long ItemId;
public bool Last;
public string comment;
public short Type;
public long Size;
public bool CheckedOut;
public long ParentId = -1;
public string Hash;
public long Changeset;

public Revision(long objid, long revno, long brid, long itemid, bool 
last,
string comment, short type, long size, bool co, long parent, 
string hash,
long cset)
{
this.ObjId = objid;
this.RevNo = revno;
this.BranchId = brid;
this.ItemId = itemid;
this.Last = last;
this.comment = comment;
this.Type = type;
this.Size = size;
this.CheckedOut = co;
this.ParentId = parent;
this.Hash = hash;
this.Changeset = cset;
}
}


class app
{

static void Main(string[] args)
{
Revision[] revs = new Revision[int.Parse(args[0])];

for( int i = 0; i < revs.Length; ++i )
{
revs[i] = new Revision(i, i % 4, i < 8000 ? 4 : i % 5, 0, i 
% 12 == 0,
"this is a comment", 0, i, false, 1, 
"jakdjfalskjfasjfasjfasjf", 10);
}

int ini = Environment.TickCount;

IEnumerable query = from s in revs
where s.BranchId == 4 && s.Last
select s;

int time = Environment.TickCount - ini;
int num = 0;
foreach( Revision r in query )
{
// Console.WriteLine("{0} - objid:{1}", num, r.ObjId);
   ++num;
}
Console.WriteLine("time retrieving {0} {1} ms", num, time);

num = 0;
ini = Environment.TickCount;
foreach( Revision r in revs )
  if( r.Last && r.BranchId == 4)
 ++num;

Console.WriteLine("time retrieving iteratively {0} {1} ms", num, 
Environment.TickCount - ini);
    }
}
}



- Original Message - 
From: "Kamil Skalski" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: "Marek Safar" <[EMAIL PROTECTED]>; "Robert Jordan" 
<[EMAIL PROTECTED]>; 
Sent: Tuesday, September 25, 2007 5:04 PM
Subject: Re: [Mono-dev] Linq sample?


> 2007/9/25, pablosantosluac <[EMAIL PROTECTED]>:
>> Hi,
>>
>> Well, I've just tried some simple tests yet, but I'd say performance is
>> awsome... I mean, searching in an array of 120 Million objects, using 
>> about
>> 1GB RAM looking for a simple query checking a couple of properties needed
>> only 185ms to finish!!!
>>
>> Doing it iteratively (looping through the array) took 284ms against 3 in 
>> a
>> 12Million array (linq is faster!).
>>
>>
>
> After getting such results I would guess there is some problem with
> the benchmark. You could post it here, so we can look at it. Such
> results are hardly possible, since linq is mostly just a layer about
> the standard search code, so it should never actually run faster
> (unless we speak about some complex Linq to SQL stuff involving code
> generation etc.).
>
> -- 
> Kamil Skalski
> http://nazgul.omega.pl 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Linq sample?

2007-09-25 Thread pablosantosluac
well, I'm just "counting the numbers" after retrieving the query (and I 
guess this is NOT the way to do it, but I'm not very used to enumerators, 
specially writing my test with "vi")

Ok, I changed the loop so that now

 foreach( Revision r in query )
 {
 // Console.WriteLine("{0} - objid:{1}", num, r.ObjId);
++num;
value += r.ObjId;
 }

I print value at the end:

results: 120 elements -> linq -> 3ms, iteratively -> 28ms
results: 1200 elements (12millions) -> linq -> 294ms, iteratively -> 323

Yes, the difference is too small to be meangiful, but still, it is superb.

Is there a way to build the queries dinamically

- Original Message - 
From: "Kamil Skalski" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: "Marek Safar" <[EMAIL PROTECTED]>; "Robert Jordan" 
<[EMAIL PROTECTED]>; 
Sent: Tuesday, September 25, 2007 7:13 PM
Subject: Re: [Mono-dev] Linq sample?


>> foreach( Revision r in query )
>> {
>> // Console.WriteLine("{0} - objid:{1}", num, r.ObjId);
>>++num;
>> }
>
> I'm pretty sure (accounting your previous post about superb
> performance) that this loop is actually optimized out by compiler. You
> should *use* the r instance somehow, for example do a sum of all
> r.ObjId values in both of the loops and then check the numbers.
>
> -- 
> Kamil Skalski
> http://nazgul.omega.pl 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Linq status

2007-09-25 Thread pablosantosluac
It works with SVN HEAD!!!


- Original Message - 
From: "Marek Safar" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: 
Sent: Monday, September 24, 2007 7:26 PM
Subject: Re: [Mono-dev] Linq status


> Hi Pablo,
>> I was wondering which is the current Linq status in mono.
>>
> LINQ is currently under development and some pieces are already working.
>
>>  I've downloaded and compiled the olive project, and now I have the
>> System.Data.Linq assembly but I was wondering how should I write a Linq
>> sample in mono.
>>
> Exactly the same as you would do for Microsoft .NET. Our libraries and 
> compliers
> should be compatible.
>
>> I didn't find a sample or test in the code to start up with.
>>
>> I tried this one from msdn, but I guess I'm doing something wrong because 
>> I
>> wasn't able to compile it.
>>
> You probably forget to pass -langversion:linq option This option is only 
> temporary (to disable not
> very stable features) and will very likely be removed in the next Mono 
> release.
>
> I also recommend you to use SVN HEAD version as LINQ is under development 
> and SVN
> contains more features than Mono 1.2.5.* release.
>
> Marek
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Remoting Question

2007-09-24 Thread pablosantosluac
Yes, a custom one is even faster, but, by default, I've measured the mono 
one to be quite faster than the ms one.

On Mon, 2007-09-24 at 16:42 +0200, pablosantosluac wrote:
> It is fully compatible.

With Mono 1.2.5 it's now fully compatible.

The Dictionary (generic) collection wasn't compatible in < 1.2.5

>
> Mono remoting is one of the nicest thing you'll find for Unix development.

I agree, it's like sweet strawberries on vanilla ice cream.

> Binary serialization outperforms the MS implementation.

Not sure about that one, my custom (fast) serializer is faster :)

>
> pablo
- Original Message - 
From: "Mirco Bauer" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>; 
Sent: Monday, September 24, 2007 5:13 PM
Subject: Re: [Mono-dev] Remoting Question


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Linq sample?

2007-09-24 Thread pablosantosluac
Well, I guess I'm doing something wrong or using an old mono runtime, 
because the sample is very simple. Does it work for you?

Another question: is Linq performace good?


using System;
using System.Linq;
using System.Collections.Generic;

class app {
  static void Main() {
string[] names = { "Burke", "Connor", "Frank",
   "Everett", "Albert", "George",
   "Harris", "David" };

IEnumerable query = from s in names
   where s.Length == 5
   orderby s
   select s.ToUpper();

foreach (string item in query)
  Console.WriteLine(item);
  }
}




- Original Message - 
From: "Kamil Skalski" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: ; "Robert Jordan" <[EMAIL PROTECTED]>
Sent: Monday, September 24, 2007 5:25 PM
Subject: Re: [Mono-dev] Linq sample?


> 2007/9/24, pablosantosluac <[EMAIL PROTECTED]>:
>> Thanks Robert,
>>
>> One more question: now it compiles but I can't run it.
>>
>> I'm using Mono JIT compiler version 1.2.5 (/trunk/ r84774)
>>
>> And I get:
>> Unhandled Exception: System.InvalidProgramException: Invalid IL code in
>> app:Main (): IL_: ldc.i4.8
>>
>
> Looks like a bug in compiler or runtime. You should produce a small
> sample triggering this error and post to bugzilla.
>
> -- 
> Kamil Skalski
> http://nazgul.omega.pl 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Linq sample?

2007-09-24 Thread pablosantosluac
Thanks Robert,

One more question: now it compiles but I can't run it.

I'm using Mono JIT compiler version 1.2.5 (/trunk/ r84774)

And I get:
Unhandled Exception: System.InvalidProgramException: Invalid IL code in 
app:Main (): IL_: ldc.i4.8

I guess I'm still doing something wrong...

Thanks

pablo

- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Monday, September 24, 2007 5:12 PM
Subject: Re: [Mono-dev] Linq sample?


> pablosantosluac wrote:
>> Hi!
>>
>> I was wondering which is the current Linq status in mono.
>>
>>  I've downloaded and compiled the olive project, and now I have the
>> System.Data.Linq assembly but I was wondering how should I write a Linq
>> sample in mono.
>>
>> I didn't find a sample or test in the code to start up with.
>>
>> I tried this one from msdn, but I guess I'm doing something wrong because 
>> I
>> wasn't able to compile it.
>
> Compile it with gmcs -langversion:linq
>
> Robert
>
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Remoting Question

2007-09-24 Thread pablosantosluac
It is fully compatible.

Mono remoting is one of the nicest thing you'll find for Unix development. 
Binary serialization outperforms the MS implementation.

pablo

- Original Message - 
From: "Phil" <[EMAIL PROTECTED]>
To: 
Sent: Monday, September 24, 2007 4:36 PM
Subject: [Mono-dev] Remoting Question


> Is .NET Remoting in Mono compatible with Microsoft's implementation?
> And if not, how about BinaryFormatter?
>
> Thanks!
>
> - Phil
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Linq sample?

2007-09-24 Thread pablosantosluac
Hi!

I was wondering which is the current Linq status in mono.

 I've downloaded and compiled the olive project, and now I have the 
System.Data.Linq assembly but I was wondering how should I write a Linq 
sample in mono.

I didn't find a sample or test in the code to start up with.

I tried this one from msdn, but I guess I'm doing something wrong because I 
wasn't able to compile it.

using System;
using System.Linq;
using System.Collections.Generic;

class app {
  static void Main() {
string[] names = { "Burke", "Connor", "Frank",
   "Everett", "Albert", "George",
   "Harris", "David" };

IEnumerable query = from s in names
   where s.Length == 5
   orderby s
   select s.ToUpper();

foreach (string item in query)
  Console.WriteLine(item);
  }
}


I'm just interested in "in-memory" queries.

Any suggestions?

Thanks,

pablo

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Linq status

2007-09-24 Thread pablosantosluac
Hi!

I was wondering which is the current Linq status in mono.

 I've downloaded and compiled the olive project, and now I have the
System.Data.Linq assembly but I was wondering how should I write a Linq
sample in mono.

I didn't find a sample or test in the code to start up with.

I tried this one from msdn, but I guess I'm doing something wrong because I
wasn't able to compile it.

using System;
using System.Linq;
using System.Collections.Generic;

class app {
  static void Main() {
string[] names = { "Burke", "Connor", "Frank",
   "Everett", "Albert", "George",
   "Harris", "David" };

IEnumerable query = from s in names
   where s.Length == 5
   orderby s
   select s.ToUpper();

foreach (string item in query)
  Console.WriteLine(item);
  }
}


I'm just interested in "in-memory" queries.

Any suggestions?

Thanks,

pablo


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Problem with sqlite and Win2000

2007-09-07 Thread pablosantosluac
Do you have a callstack?



- Original Message - 
From: "Torello Querci" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Sent: Friday, September 07, 2007 10:25 AM
Subject: Re: [Mono-dev] Problem with sqlite and Win2000


> Unfortunally using sqlite2 or sqlite3 I have the same result. The
> application crash :(
>
> 2007/9/7, Torello Querci <[EMAIL PROTECTED]>:
>> Hi, I not use thread, so I wait the end of a select before to do the 
>> next.
>> Under XP work fine.
>>
>> Now I try to use sqlite2 instead.
>>
>> If you want I can attach a simple testing program with related DB.
>>
>> 2007/9/7, pablosantosluac <[EMAIL PROTECTED]>:
>> > Hi,
>> >
>> > Well, you know SQLite doesn't support concurrency... don't you?
>> >
>> > Could it be related?
>> >
>> > pablo
>> > - Original Message -
>> > From: "Torello Querci" <[EMAIL PROTECTED]>
>> > To: 
>> > Sent: Friday, September 07, 2007 8:50 AM
>> > Subject: [Mono-dev] Problem with sqlite and Win2000
>> >
>> >
>> > > Hi to all,
>> > >
>> > > .. I have a real big problem using SQLite on old Win2000 installation
>> > > (Win2000 that is not update for several reason) ... If I run several
>> > > query (not is necessary a big number, sometimes 10 query is
>> > > sufficient) the program crash. I try both 1.2.4 and 1.2.5 version.
>> > > I try the same assembly on Linux and WinXP to run 10 query I have
>> > > no problem.
>> > >
>> > > Any suggestion? Is a mono bug or Windows bug that is fixed in some
>> > > service pack that is not installed?
>> > >
>> > > If you want I realize a small program to show this behavious.
>> > >
>> > > Thank's in advance (and sorry for my english)
>> > >
>> > > Best Regards
>> > > Torello Querci
>> > > ___
>> > > Mono-devel-list mailing list
>> > > Mono-devel-list@lists.ximian.com
>> > > http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> >
>> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Problem with sqlite and Win2000

2007-09-07 Thread pablosantosluac
Hi,

Well, you know SQLite doesn't support concurrency... don't you?

Could it be related?

pablo
- Original Message - 
From: "Torello Querci" <[EMAIL PROTECTED]>
To: 
Sent: Friday, September 07, 2007 8:50 AM
Subject: [Mono-dev] Problem with sqlite and Win2000


> Hi to all,
> 
> .. I have a real big problem using SQLite on old Win2000 installation
> (Win2000 that is not update for several reason) ... If I run several
> query (not is necessary a big number, sometimes 10 query is
> sufficient) the program crash. I try both 1.2.4 and 1.2.5 version.
> I try the same assembly on Linux and WinXP to run 10 query I have
> no problem.
> 
> Any suggestion? Is a mono bug or Windows bug that is fixed in some
> service pack that is not installed?
> 
> If you want I realize a small program to show this behavious.
> 
> Thank's in advance (and sorry for my english)
> 
> Best Regards
> Torello Querci
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Warnings in mono 1.2.5

2007-09-03 Thread pablosantosluac
I've also seen these in previous releases...



- Original Message - 
From: "Michał Ziemski" <[EMAIL PROTECTED]>
To: 
Sent: Monday, September 03, 2007 9:12 AM
Subject: [Mono-dev] Warnings in mono 1.2.5


Hi!

I am running a vanilla mono 1.2.5 on Suse 10.0.
My app (Amazon S3 backup utility) occasionally (like 1 in 20 runs)
produces warnings:

WARNING **: _wapi_thread_abandon_mutexes: error looking up thread handle 
0x408
WARNING **: _wapi_thread_set_termination_details: error looking up thread 
handle (nil)

Despite the warnings, app works fine.
My app mostly uses synchronous HttpWebRequests, no threading.

Any ideas what might be the cause?
I considered filing a bug, but I cannot provide any simpe testcase yet,
so I decided to ask here first.

Cheers,
Michał Ziemski

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] S390

2007-09-02 Thread pablosantosluac
Hi there!


The Mono S390 works on Linux 390, isn't it? Ok, my question is: can a mono 
app running on a 390 virtual machine access resources on other partitions or 
in the "real" host?

We'd considering giving support to "host" users using mono too...


Thanks,

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Compilation and App.ico

2007-08-30 Thread pablosantosluac
Yes, it is the same but, I compiled 84774 and the problem is still there... 
I guess 82617 is not included...
- Original Message - 
From: "Andy Hume" <[EMAIL PROTECTED]>
To: "'pablosantosluac'" <[EMAIL PROTECTED]>; 

Sent: Thursday, August 30, 2007 12:31 PM
Subject: RE: [Mono-dev] Compilation and App.ico


> Is this the same as http://bugzilla.ximian.com/show_bug.cgi?id=82617 ?
>
> Andy
>
>> -Original Message-
>> From: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED] On Behalf
>> Of pablosantosluac
>> Sent: 30 August 2007 10:00
>> To: mono-devel-list@lists.ximian.com
>> Subject: [Mono-dev] Compilation and App.ico
>>
>> Hi,
>>
>> After r84774 I'm trying to compile all the plastic code with mono.
>>
>> I've detected the compiler needs the App.ico files to be in
>> non readonly state. .NET doesn't complain...
>>
>> pablo
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Conditional compilation

2007-08-30 Thread pablosantosluac
Yes! :-)


- Original Message - 
From: "Angel Marin" <[EMAIL PROTECTED]>
To: 
Sent: Thursday, August 30, 2007 10:35 PM
Subject: Re: [Mono-dev] Conditional compilation


> pablosantosluac escribió:
>> I have a code fragment like the following:
> [...]
>
>> > define="${define}" >
>
> [...]
>
>> But when I run the app no output is generated.
>>
>> If I compile it directly with mcs it works as expected, printing the
>> Console.WriteLine message.
>>
>> Do you find something wrong? Is it a bug on Nant?
>
> Your nant task is building the code as winexe, so there is no console to
> write to. Try target="exe".
>
> Regards,
> -- 
> Angel Marin
> http://anmar.eu.org/
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Conditional compilation

2007-08-30 Thread pablosantosluac
it works if you compile it with mcs or csc...
- Original Message - 
From: "Angel Marin" <[EMAIL PROTECTED]>
To: 
Sent: Thursday, August 30, 2007 10:35 PM
Subject: Re: [Mono-dev] Conditional compilation


> pablosantosluac escribió:
>> I have a code fragment like the following:
> [...]
>
>> > define="${define}" >
>
> [...]
>
>> But when I run the app no output is generated.
>>
>> If I compile it directly with mcs it works as expected, printing the
>> Console.WriteLine message.
>>
>> Do you find something wrong? Is it a bug on Nant?
>
> Your nant task is building the code as winexe, so there is no console to
> write to. Try target="exe".
>
> Regards,
> -- 
> Angel Marin
> http://anmar.eu.org/
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Conditional compilation

2007-08-30 Thread pablosantosluac
I specified NAnt to use 1.0 with -t:mono.1.0


- Original Message - 
From: "Gert Driesen" <[EMAIL PROTECTED]>
To: "'pablosantosluac'" <[EMAIL PROTECTED]>; 

Sent: Thursday, August 30, 2007 10:00 PM
Subject: RE: [Mono-dev] Conditional compilation


> Pablo,
>
> What happens if you compile using gmcs, because NAnt is probably targeting
> the 2.0 profile ?
>
> I know there's a issue in gmcs where conditional compilation does not work
> correct for generic methods
> (http://bugzilla.ximian.com/show_bug.cgi?id=82443), but it should work for
> non-generic methods.
>
> Gert
>
> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of
> pablosantosluac
> Sent: donderdag 30 augustus 2007 21:38
> To: mono-devel-list@lists.ximian.com
> Subject: [Mono-dev] Conditional compilation
>
> Hi,
>
> I have a code fragment like the following:
>
> using System;
> using System.Diagnostics;
>
>
> namespace conditionalcompilation
> {
> class Class1
> {
>  static void Main(string[] args)
>  {
>   Class1 me = new Class1();
>   me.Go();
>  }
>
>  [Conditional("YELLOW")]
>  public void Go()
>  {
>   Console.WriteLine("Hello");
>  }
> }
> }
>
>
> And the nant build file is:
>
> 
> 
>
>TEST
>
>
>
>
>
>
>
> define="${define}" >
>
>
>
>
>
>
>
>
>
>
> 
>
> I build it with latest mono (1.2.5) (same results with 1.2.4):
> nant.bat -D:define=YELLOW -v -t:mono-1.0
>
> conditional:
>
>  [csc] 'D:\data\develop\conditionalcompilation\aaa.cs' has been
> updated, recompiling.
>  [csc] Compiling 3 files to
> 'D:\data\develop\conditionalcompilation\conditional.exe'.
>  [csc] Contents of C:\DOCUME~1\pablo\CONFIG~1\Temp\tmp445918bc.tmp.
>  [csc] /fullpaths
>  [csc] /debug
>  [csc] "/define:DEBUG"
>  [csc] "/define:TRACE"
>  [csc] /nologo
>  [csc] "/target:winexe"
>  [csc] "/define:YELLOW"
>  [csc] "/out:D:\data\develop\conditionalcompilation\conditional.exe"
>  [csc] "/reference:C:\Archivos de
> programa\Mono-1.2.4\lib\mono\1.0\System.Windows.Forms.dll"
>  [csc] "/reference:C:\Archivos de
> programa\Mono-1.2.4\lib\mono\1.0\System.Drawing.dll"
>  [csc] "/reference:C:\Archivos de
> programa\Mono-1.2.4\lib\mono\1.0\System.Data.dll"
>  [csc] "D:\data\develop\conditionalcompilation\aaa.cs"
>  [csc] "D:\data\develop\conditionalcompilation\AssemblyInfo.cs"
>  [csc] "D:\data\develop\conditionalcompilation\Class1.cs"
>  [csc]
>
>
> But when I run the app no output is generated.
>
> If I compile it directly with mcs it works as expected, printing the
> Console.WriteLine message.
>
> Do you find something wrong? Is it a bug on Nant?
>
> Thanks,
>
> pablo
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Conditional compilation

2007-08-30 Thread pablosantosluac
Hi,

I have a code fragment like the following:

using System;
using System.Diagnostics;


namespace conditionalcompilation
{
 class Class1
 {
  static void Main(string[] args)
  {
   Class1 me = new Class1();
   me.Go();
  }

  [Conditional("YELLOW")]
  public void Go()
  {
   Console.WriteLine("Hello");
  }
 }
}


And the nant build file is:




TEST




















I build it with latest mono (1.2.5) (same results with 1.2.4): 
nant.bat -D:define=YELLOW -v -t:mono-1.0

conditional:

  [csc] 'D:\data\develop\conditionalcompilation\aaa.cs' has been 
updated, recompiling.
  [csc] Compiling 3 files to 
'D:\data\develop\conditionalcompilation\conditional.exe'.
  [csc] Contents of C:\DOCUME~1\pablo\CONFIG~1\Temp\tmp445918bc.tmp.
  [csc] /fullpaths
  [csc] /debug
  [csc] "/define:DEBUG"
  [csc] "/define:TRACE"
  [csc] /nologo
  [csc] "/target:winexe"
  [csc] "/define:YELLOW"
  [csc] "/out:D:\data\develop\conditionalcompilation\conditional.exe"
  [csc] "/reference:C:\Archivos de 
programa\Mono-1.2.4\lib\mono\1.0\System.Windows.Forms.dll"
  [csc] "/reference:C:\Archivos de 
programa\Mono-1.2.4\lib\mono\1.0\System.Drawing.dll"
  [csc] "/reference:C:\Archivos de 
programa\Mono-1.2.4\lib\mono\1.0\System.Data.dll"
  [csc] "D:\data\develop\conditionalcompilation\aaa.cs"
  [csc] "D:\data\develop\conditionalcompilation\AssemblyInfo.cs"
  [csc] "D:\data\develop\conditionalcompilation\Class1.cs"
  [csc]


But when I run the app no output is generated.

If I compile it directly with mcs it works as expected, printing the 
Console.WriteLine message.

Do you find something wrong? Is it a bug on Nant?

Thanks,

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Compilation and App.ico

2007-08-30 Thread pablosantosluac
Hi,

After r84774 I'm trying to compile all the plastic code with mono.

I've detected the compiler needs the App.ico files to be in non readonly 
state. .NET doesn't complain...

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Possible bug in encoding at Solaris and PowerPC

2007-08-29 Thread pablosantosluac
Hi,

I've found a problem with our server running on MacOSX (PPC) and Solaris 
SPARC. I'm reading a field in a table from a Firebird database. The field is 
CHAR(1).

In Windows (.NET and Mono) and Linux (Mono) when you read the field using 
firebirdDotNet provider you get a Char as a result. In Solaris SPARC and 
MacOS X you get a string with two blanks at the end.

I reported it to the firebirdDotNet list but they told me it must be a Mono 
problem because it runs on Linux and Windows.

I can file a testcase but you'd probably have to look into the firebird 
provider...

At the moment I've just made a workaround but it doesn't look like a good 
idea...

Pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Remoting with DateTime

2007-08-10 Thread pablosantosluac
It is also a problem with .NET 1 working against .NET 2.0 so we didn't 
consider it a problem in mono. I mean, it is doing the same as .NET is 
doing, not being compatible.

I didn't think it was worth to tell...

I'll do it next time,

pablo

- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Friday, August 10, 2007 8:38 PM
Subject: Re: [Mono-dev] Remoting with DateTime


>
> pablosantosluac wrote:
>> We solve it serializing the ticks instead!
>
> It would be nice if you guys would file bugs even if there
> are workarounds.
>
>
> Thx
> Robert
>
>
>> - Original Message - 
>> From: "Robert Jordan" <[EMAIL PROTECTED]>
>> To: 
>> Sent: Friday, August 10, 2007 8:09 PM
>> Subject: Re: [Mono-dev] Remoting with DateTime
>>
>>
>>> Hi,
>>>
>>> Jae Stutzman wrote:
>>>> Replying to my own mail...
>>>>
>>>> The failure happens when using TCP remoting, when I tried with HTTP the
>>>> sample worked. BTW this is with SVN rev 83316.
>>>>
>>>> Something going on in the binary serialization i reckon.
>>> The soap formatter is handling DateTime differently, unlike the
>>> binary formatter which solely relies on binary serialization.
>>>
>>> Since DateTime is not serialization compatible between mono
>>> and MS.NET 2.0, remoting doesn't work either.
>>>
>>> Please file a bug at http://www.mono-project.com/Bugs
>>> product "Class Libraries", component "corlib".
>>>
>>> Robert
>>>
>>>
>>> ___
>>> Mono-devel-list mailing list
>>> Mono-devel-list@lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Remoting with DateTime

2007-08-10 Thread pablosantosluac
We solve it serializing the ticks instead!
- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Friday, August 10, 2007 8:09 PM
Subject: Re: [Mono-dev] Remoting with DateTime


> Hi,
> 
> Jae Stutzman wrote:
>> Replying to my own mail...
>> 
>> The failure happens when using TCP remoting, when I tried with HTTP the
>> sample worked. BTW this is with SVN rev 83316.
>> 
>> Something going on in the binary serialization i reckon.
> 
> The soap formatter is handling DateTime differently, unlike the
> binary formatter which solely relies on binary serialization.
> 
> Since DateTime is not serialization compatible between mono
> and MS.NET 2.0, remoting doesn't work either.
> 
> Please file a bug at http://www.mono-project.com/Bugs
> product "Class Libraries", component "corlib".
> 
> Robert
> 
> 
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Remoting with DateTime

2007-08-10 Thread pablosantosluac
are you using a .NET 1.1 client against a 2.0??? If so... this happens! 
Otherwise it works?
  - Original Message - 
  From: Jae Stutzman 
  To: mono-devel-list@lists.ximian.com 
  Sent: Friday, August 10, 2007 7:18 PM
  Subject: [Mono-dev] Remoting with DateTime


  Is DateTime supposed to be supported as a parameter in remote calls? I'm 
getting an ArgumentOutOfRangeException like this:

  Note: This was just passing DateTime.Now

  Value -8590148590525713308 is outside the valid range 
[0,31553789759]. 
  Parameter name: ticks

  Maybe DateTime is not viewed as a primitive type here...if not let me know 
and I'll do something else.

  Jae



--


  ___
  Mono-devel-list mailing list
  Mono-devel-list@lists.ximian.com
  http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] C# fast fuzzy text search

2007-08-09 Thread pablosantosluac
Hi,

I guess this is out of topic but: is there a fast implementation in C# (ok, 
or anything else) for fuzzy text search? Something like the bitap algorithm 
or similar?

I know dotlucene supports fuzzy search but we need to actually be able to 
locate big text (some lines) fragments on files, not just short strings...

Ok, thanks!

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Can't compile with mono

2007-08-06 Thread pablosantosluac
Hi again,

Well, the problem I had is solved compiling with profile mono-1.0.

But then I still have a problem with assemblies with resources in serveral 
languages.

pablo
- Original Message - 
From: "pablosantosluac" <[EMAIL PROTECTED]>
To: 
Sent: Monday, August 06, 2007 6:21 PM
Subject: [Mono-dev] Can't compile with mono


> Hi,
>
> When I try to compile a project with Mono (1.2.4 or 1.2.5) and the 
> included
> nant I get a message dialog telling:
>
> **ERROR **: Can't find custom attr constructor image: [PATH TO MY DLL]
> mtoken: 0x0a92 aborting...
>
> The dll is using localization extensively to support multiple languages.
>
> Any suggestion?
>
> Thanks!
>
> pablo
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Can't compile with mono

2007-08-06 Thread pablosantosluac
Hi,

When I try to compile a project with Mono (1.2.4 or 1.2.5) and the included
nant I get a message dialog telling:

**ERROR **: Can't find custom attr constructor image: [PATH TO MY DLL]
mtoken: 0x0a92 aborting...

The dll is using localization extensively to support multiple languages.

Any suggestion?

Thanks!

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Mono Summit 07

2007-08-04 Thread pablosantosluac
Hi,

I've seen the proposal for the next Mono Summit. I can help if you're 
interested in Madrid or even Valladolid (200km for Madrid, it has a big 
university ...). I could find help in Madrid too.

Pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono 1.2.5 Preview 2

2007-08-03 Thread pablosantosluac
Yes, because I'm looking for an specific element into an array, I'm looking 
by index. Instead of creating an object of this type I just send the ID... 
ok, ok, ok... I'll change it... :-(
- Original Message - 
From: "Miguel de Icaza" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: "Rolf Bjarne Kvinge" <[EMAIL PROTECTED]>; "'Wade Berrier'" 
<[EMAIL PROTECTED]>; 
Sent: Friday, August 03, 2007 5:43 PM
Subject: Re: [Mono-dev] Mono 1.2.5 Preview 2


>
>>
>> And I was assuming (probably it is wrong) that the parameter X was always
>> the itemId (which is a long). It used to work, but now I realize it can 
>> be
>> wrong
>
> This does look very wrong.   All the values in the binary search must be
> of the same type and you are casting it to two different types.
>
>>
>> public int Compare(object x, object y)
>>
>> {
>>
>>long itemId = (long)x;
>>
>>ObjectInfo objInfo = y as ObjInfo;
>>
>>// compare here objInfo.item and itemId
>>
>>
>>
>> }
>>
>>
>>
>> - Original Message - 
>> From: "Rolf Bjarne Kvinge" <[EMAIL PROTECTED]>
>> To: "'pablosantosluac'" <[EMAIL PROTECTED]>; "'Wade Berrier'"
>> <[EMAIL PROTECTED]>; 
>> Sent: Friday, August 03, 2007 5:09 PM
>> Subject: RE: [Mono-dev] Mono 1.2.5 Preview 2
>>
>>
>> >
>> >
>> >> -Original Message-
>> >> From: [EMAIL PROTECTED] 
>> >> [mailto:mono-devel-list-
>> >> [EMAIL PROTECTED] On Behalf Of pablosantosluac
>> >> Sent: viernes, 03 de agosto de 2007 15:02
>> >> To: Wade Berrier; mono-devel-list@lists.ximian.com
>> >> Subject: Re: [Mono-dev] Mono 1.2.5 Preview 2
>> >>
>> >> Hi,
>> >>
>> >> I've just run Plastic with preview 1.2.5 and:
>> >>
>> >> - I got a "Comparer threw an exception" in a ArrayList BinarySearch
>> >> which was working with 1.2.4. It looks like the list is sending a 
>> >> wrong
>> >> parameter to the Compare(object x, object y) method. The "x" is 
>> >> expected
>> > to be a
>> >> long but an objects arrives.
>> >>
>> >> It looks like the order in which objects are sent to the Comparer are
>> >> switched.
>> >>
>> >
>> > Could you provide some more information on this issue (stacktraces, 
>> > maybe
>> > sample code)?
>> >
>> > Rolf
>> >
>> >> pablo
>> >>
>> >> - Original Message -
>> >> From: "Wade Berrier" <[EMAIL PROTECTED]>
>> >> To: 
>> >> Sent: Thursday, August 02, 2007 1:30 AM
>> >> Subject: [Mono-dev] Mono 1.2.5 Preview 2
>> >>
>> >>
>> >> > Hi,
>> >> >
>> >> > Mono 1.2.5 preview 2 sources, packages, and installers are available
>> >> at:
>> >> >
>> >> > http://mono.ximian.com/monobuild/preview/download-preview/
>> >> >
>> >> > At some point, the release notes for 1.2.5 will be available at:
>> >> >
>> >> > http://go-mono.com/archive/1.2.5/
>> >> >
>> >> > If no critical bugs are found after the preview period, these same
>> >> > downloads will be posted on mono-project.com for general 
>> >> > consumption.
>> >> >
>> >> > If there are critical bugs found, only those packages/sources will 
>> >> > be
>> >> > updated before publishing to mono-project.com.
>> >> >
>> >> > Since this release hasn't been pushed to our main download server,
>> >> some
>> >> > sources may be retagged if critical bugs are found.  Those tags are
>> >> not
>> >> > final until we publish to mono-project.com.
>> >> >
>> >> > Changes with preview 2 over preview 1:
>> >> >
>> >> > MonoDevelop 0.15
>> >> > IPCE r6
>> >> > cocoa-sharp 0.9.4
>> >> > redcarpet/opencarpet support dropped (all the distros we support can
>> >> > install packages via yast or yum)
>> >> > Several critial bugs fixed that were found in preview1 (Thanks for
>> >> > testing!!)
>> >> > ikvm 0.34.0.2
>> >> >
>> >> > Wade
>> >> >
>> >> > ___
>> >> > Mono-devel-list mailing list
>> >> > Mono-devel-list@lists.ximian.com
>> >> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> >>
>> >> ___
>> >> Mono-devel-list mailing list
>> >> Mono-devel-list@lists.ximian.com
>> >> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> >>
>> >>
>> >> --
>> >> No virus found in this incoming message.
>> >> Checked by AVG Free Edition.
>> >> Version: 7.5.476 / Virus Database: 269.11.2/933 - Release Date:
>> >> 02/08/2007 14:22
>> >
>> >
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono 1.2.5 Preview 2

2007-08-03 Thread pablosantosluac
Well, I'm not sure now this is a problem, maybe I'm doing something wrong, 
but it works in 1.2.4 and in .NET:

I have this code
int position = ArrayList.Adapter(list).BinarySearch(itemId, this);


And I was assuming (probably it is wrong) that the parameter X was always 
the itemId (which is a long). It used to work, but now I realize it can be 
wrong


public int Compare(object x, object y)

{

   long itemId = (long)x;

   ObjectInfo objInfo = y as ObjInfo;

   // compare here objInfo.item and itemId



}



- Original Message - 
From: "Rolf Bjarne Kvinge" <[EMAIL PROTECTED]>
To: "'pablosantosluac'" <[EMAIL PROTECTED]>; "'Wade Berrier'" 
<[EMAIL PROTECTED]>; 
Sent: Friday, August 03, 2007 5:09 PM
Subject: RE: [Mono-dev] Mono 1.2.5 Preview 2


>
>
>> -Original Message-----
>> From: [EMAIL PROTECTED] [mailto:mono-devel-list-
>> [EMAIL PROTECTED] On Behalf Of pablosantosluac
>> Sent: viernes, 03 de agosto de 2007 15:02
>> To: Wade Berrier; mono-devel-list@lists.ximian.com
>> Subject: Re: [Mono-dev] Mono 1.2.5 Preview 2
>>
>> Hi,
>>
>> I've just run Plastic with preview 1.2.5 and:
>>
>> - I got a "Comparer threw an exception" in a ArrayList BinarySearch
>> which was working with 1.2.4. It looks like the list is sending a wrong
>> parameter to the Compare(object x, object y) method. The "x" is expected
> to be a
>> long but an objects arrives.
>>
>> It looks like the order in which objects are sent to the Comparer are
>> switched.
>>
>
> Could you provide some more information on this issue (stacktraces, maybe
> sample code)?
>
> Rolf
>
>> pablo
>>
>> - Original Message -
>> From: "Wade Berrier" <[EMAIL PROTECTED]>
>> To: 
>> Sent: Thursday, August 02, 2007 1:30 AM
>> Subject: [Mono-dev] Mono 1.2.5 Preview 2
>>
>>
>> > Hi,
>> >
>> > Mono 1.2.5 preview 2 sources, packages, and installers are available
>> at:
>> >
>> > http://mono.ximian.com/monobuild/preview/download-preview/
>> >
>> > At some point, the release notes for 1.2.5 will be available at:
>> >
>> > http://go-mono.com/archive/1.2.5/
>> >
>> > If no critical bugs are found after the preview period, these same
>> > downloads will be posted on mono-project.com for general consumption.
>> >
>> > If there are critical bugs found, only those packages/sources will be
>> > updated before publishing to mono-project.com.
>> >
>> > Since this release hasn't been pushed to our main download server,
>> some
>> > sources may be retagged if critical bugs are found.  Those tags are
>> not
>> > final until we publish to mono-project.com.
>> >
>> > Changes with preview 2 over preview 1:
>> >
>> > MonoDevelop 0.15
>> > IPCE r6
>> > cocoa-sharp 0.9.4
>> > redcarpet/opencarpet support dropped (all the distros we support can
>> > install packages via yast or yum)
>> > Several critial bugs fixed that were found in preview1 (Thanks for
>> > testing!!)
>> > ikvm 0.34.0.2
>> >
>> > Wade
>> >
>> > ___
>> > Mono-devel-list mailing list
>> > Mono-devel-list@lists.ximian.com
>> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>>
>> --
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.5.476 / Virus Database: 269.11.2/933 - Release Date:
>> 02/08/2007 14:22
>
> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Serialization performance + remoting

2007-08-03 Thread pablosantosluac
Rafael,

So, you basically mean changing the API from

MyType[] GetData()

to something like

byte[] GetData()

and perform the marshalling yourself?

Or maybe something like
MyArrayType GetData()

and then MyArrayType gets a customized serializer?

Thanks!

pablo


- Original Message - 
From: "Rafael Teixeira" <[EMAIL PROTECTED]>
To: "Mirco Bauer" <[EMAIL PROTECTED]>
Cc: "pablosantosluac" <[EMAIL PROTECTED]>; 

Sent: Friday, August 03, 2007 4:21 PM
Subject: Re: [Mono-dev] Serialization performance + remoting


> Pablo,
>
> I should add that probably custom serialization should happen at the
> Array level, not each element, or you may end experiencing a similar
> problem with System.Runtime.Serialization.ObjectIDGenerator.
>
> If you know that all the array elements are different instances (no
> repeated references), it will be a huge gain, because that is
> something you don't have a way of letting the system provided
> serializer know, so it will keep trying to generate ids and check in
> the other end to point all references to a single deserialized
> instance.
>
> In those cases I normally serialize the whole array into a very
> compact and concise blob (forget the fields descriptors or send them
> just once) and deserialize at the other end. The added complexity is
> paid well in performance, for large sets of objects.
>
> In some cases I go even further and use compression/decompression of
> the blob, to achieve even less transport time, I just experiment a bit
> to find the right threshold (minimum size) where compression is
> beneficial (it is kind of a lookup table one have to construct, to
> adjust to the real speed of the connection).
>
> Hope it helps,
>
> On 8/3/07, Mirco Bauer <[EMAIL PROTECTED]> wrote:
>> On Thu, 2007-08-02 at 22:54 +0200, pablosantosluac wrote:
>> > Thanks Mirco,
>> >
>> > Well, all my objects are already marked as [Serializable] instead of
>> > extending the MarshalByRefObject.
>>
>> Ok, then you are passing the objects by value already.
>>
>> >
>> > So, you mean if I extend the class it will go worse?
>>
>> Yes :)
>> As it will only transfer a proxy object which will always make remoting
>> calls for each method or property usage.
>> So code like this is very bad:
>> for (int i = 0; i < 10; i++) {
>> Console.WriteLine(myRemoteObject.SomeProperty);
>> }
>> that will cause 10 remoting calls...
>>
>> >
>> > The sample I'm using returns the 4700 objects in a single call (an 
>> > array is
>> > returned)
>> Hmmm ok, so you have performance problems with the binary serialization
>> itself, not with the remoting/call overhead.
>>
>> Then you might want to implement custom optimized binary serialization.
>> This can be done by implementing the serializable interface yourself. I
>> have not done this yet, but I will (for smuxi), as the built in binary
>> serialization of objects in MS .NET and Mono is pretty slow (actually
>> damn slow IMHO). The problem is that they are very generic
>> implementations to fit all cases, AFAIK.
>>
>> How to implement faster binary serialization check this out:
>> http://www.codeproject.com/csharp/FastSerialization.asp
>>
>> Maybe I will start a SmartBinarySerializer project :-P not sure...
>> As there is no free (as in MIT/X11, BSD, LGPL, whatever license)
>> implementation of an optimized binary serialization :(
>>
>> --
>> Regards,
>>
>> Mirco 'meebey' Bauer
>>
>> PGP-Key:
>> http://keyserver.noreply.org/pks/lookup?op=get&search=0xEEF946C8
>>
>> -BEGIN GEEK CODE BLOCK-
>> Version: 3.12
>> GIT d s-:+ a-- C++ UL$ P L++$>+++$ E- W+++$ N o? K- w++>! O M-
>> V? PS
>> PE+ Y- PGP++ t 5+ X++ R tv+ b+ DI? D+ G>++ e h! r->++ y?
>> --END GEEK CODE BLOCK--
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>>
>>
>
>
> -- 
> Rafael "Monoman" Teixeira
> ---
> "I myself am made entirely of flaws, stitched together with good 
> intentions."
> Augusten Burroughs 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Mono 1.2.5 Preview 2

2007-08-03 Thread pablosantosluac
Hi,

I've just run Plastic with preview 1.2.5 and:

- I got a "Comparer threw an exception" in a ArrayList BinarySearch which 
was working with 1.2.4. It looks like the list is sending a wrong parameter 
to the Compare(object x, object y) method. The "x" is expected to be a long 
but an objects arrives.

It looks like the order in which objects are sent to the Comparer are 
switched.

pablo

- Original Message - 
From: "Wade Berrier" <[EMAIL PROTECTED]>
To: 
Sent: Thursday, August 02, 2007 1:30 AM
Subject: [Mono-dev] Mono 1.2.5 Preview 2


> Hi,
>
> Mono 1.2.5 preview 2 sources, packages, and installers are available at:
>
> http://mono.ximian.com/monobuild/preview/download-preview/
>
> At some point, the release notes for 1.2.5 will be available at:
>
> http://go-mono.com/archive/1.2.5/
>
> If no critical bugs are found after the preview period, these same
> downloads will be posted on mono-project.com for general consumption.
>
> If there are critical bugs found, only those packages/sources will be
> updated before publishing to mono-project.com.
>
> Since this release hasn't been pushed to our main download server, some
> sources may be retagged if critical bugs are found.  Those tags are not
> final until we publish to mono-project.com.
>
> Changes with preview 2 over preview 1:
>
> MonoDevelop 0.15
> IPCE r6
> cocoa-sharp 0.9.4
> redcarpet/opencarpet support dropped (all the distros we support can 
> install packages via yast or yum)
> Several critial bugs fixed that were found in preview1 (Thanks for 
> testing!!)
> ikvm 0.34.0.2
>
> Wade
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Serialization performance + remoting

2007-08-03 Thread pablosantosluac
Hi again,

I've just run some tests comparing mono to .net. It is exaclty the same code 
compiled with .NET but run with .NET and mono. The test case is a server 
(actually the plastic server) with the data cached and a client. So only 
serialization/deserialization play the game, no other processing is 
required. The data is about 2Mb. The test is run on a 1.5GHz Pentium M 
laptop with 1.5GB Ram.

The time is average time after 10 runs.

mono server + mono client -> 630ms
mono server + .net client -> 721 ms
.net server + .net client -> 1150 ms
.net server + mono client -> 980 ms

So it looks like mono serialization is much faster.

I'm afraid the rest of the code is a bit slower running with Mono than .NET 
on my small test case (not the one I showed but another one not caching 
data). One question: is it recommended to compile with Mono to get better 
perfomance? I guess the answer but I just want to be sure.

Thanks!

pablo




- Original Message - 
From: "pablosantosluac" <[EMAIL PROTECTED]>
To: ; "Robert Jordan" <[EMAIL PROTECTED]>
Sent: Friday, August 03, 2007 12:52 PM
Subject: Re: [Mono-dev] Serialization performance + remoting


> Thanks Robert.
>
> So, you mean it is better to pass an array of objects than actually a 
> list??
> Ok, I was already using arrays but I'll take it into account...
>
> pablo
> - Original Message - 
> From: "Robert Jordan" <[EMAIL PROTECTED]>
> To: 
> Sent: Friday, August 03, 2007 10:52 AM
> Subject: Re: [Mono-dev] Serialization performance + remoting
>
>
>> Hi Pablo,
>>
>> pablosantosluac wrote:
>>> Because the people who actually implemented both serialization and
>>> remoting
>>> are in this list :-) I'd like to ask them to share with us some tips to
>>> improve performance in serialization/remoting: I don't know, maybe 
>>> always
>>> reduce the number of objects involved (unwrap the structures into
>>> communication specific ones), get rid of some methods, avoid some data
>>> types... whatever...
>>
>> Employing a remoting facade is the way to go, IMHO, even if it's
>> not that hype. Try to keep the data exchange classes as flat as possible
>> (struct-like, avoid lists [replace them with typed arrays], etc.).
>>
>> Robert
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Serialization performance + remoting

2007-08-03 Thread pablosantosluac
Thanks Robert.

So, you mean it is better to pass an array of objects than actually a list?? 
Ok, I was already using arrays but I'll take it into account...

pablo
- Original Message - 
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: 
Sent: Friday, August 03, 2007 10:52 AM
Subject: Re: [Mono-dev] Serialization performance + remoting


> Hi Pablo,
>
> pablosantosluac wrote:
>> Because the people who actually implemented both serialization and 
>> remoting
>> are in this list :-) I'd like to ask them to share with us some tips to
>> improve performance in serialization/remoting: I don't know, maybe always
>> reduce the number of objects involved (unwrap the structures into
>> communication specific ones), get rid of some methods, avoid some data
>> types... whatever...
>
> Employing a remoting facade is the way to go, IMHO, even if it's
> not that hype. Try to keep the data exchange classes as flat as possible
> (struct-like, avoid lists [replace them with typed arrays], etc.).
>
> Robert
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Serialization performance + remoting

2007-08-02 Thread pablosantosluac
Thanks Mirco,

Well, all my objects are already marked as [Serializable] instead of
extending the MarshalByRefObject.

So, you mean if I extend the class it will go worse?

The sample I'm using returns the 4700 objects in a single call (an array is 
returned)

Thanks!

pablo

On Thu, 2007-08-02 at 22:00 +0200, pablosantosluac wrote:
> Hi,
>
> I'd like to get some tips on how to speed up object serialization. In my
> current testing scenario I'm serializing about 7400 objects (references)
> (which in turn contain about 3 objects each), and in my laptop it takes
> about 1500ms to complete.

As smuxi [0] uses .NET remoting very heavily I had to test/tune a lot...
I found object references are very expensive, and not all objects need
to be passed by reference, like simple data containers (models). Just
add the Serializable attribute to those classes instead of extending
MarshalByRefObject.
Also synchronized calls are (time-)expensive, you should either try to
reduce the number of calls or use async calls.
I often use ngrep (network sniffer) to find unneeded calls, as the whole
communication is very transparent, you easily do calls without
knowing/noticing it

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Serialization performance + remoting

2007-08-02 Thread pablosantosluac
Hi again,

Will changing


To "low" increase performance???

pablo


- Original Message - 
From: "Mirco Bauer" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: 
Sent: Thursday, August 02, 2007 10:32 PM
Subject: Re: [Mono-dev] Serialization performance + remoting


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Serialization performance + remoting

2007-08-02 Thread pablosantosluac
Hi,

I'd like to get some tips on how to speed up object serialization. In my 
current testing scenario I'm serializing about 7400 objects (references) 
(which in turn contain about 3 objects each), and in my laptop it takes 
about 1500ms to complete.

Well, AFAIK if you get rid of Equals and GetHashCode methods on the objects 
to be serialized you can improve performance. I checked it and it actually 
happens.

My problem is that I have a code fragment on the server which takes 
(measured at the client) about 2seconds to finish. Well, about 500ms is 
actual processing, the rest is the framework doing serialization.

Running with the profiler I found out that most of the time is being spent 
in a class called System.Runtime.Serialization.ObjectIDGenerator. It is 
actually trying to locate which objects are already serialized. I run with 
mono and got almost the same results (ok , I didn't run with the profiler 
but got more or less the same results in terms of timing).

So, it seems the process gets more affected by the number of objects to be 
serialized than the size of data.

Because the people who actually implemented both serialization and remoting 
are in this list :-) I'd like to ask them to share with us some tips to 
improve performance in serialization/remoting: I don't know, maybe always 
reduce the number of objects involved (unwrap the structures into 
communication specific ones), get rid of some methods, avoid some data 
types... whatever...

Thanks!

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Updated Silverlight

2007-07-31 Thread pablosantosluac


I've just found the screenshots
http://www.mono-project.com/MoonlightShots

sorry

pablo
- Original Message - 
From: "Chris Toshok" <[EMAIL PROTECTED]>
To: "Miguel de Icaza" <[EMAIL PROTECTED]>
Cc: "Mono Olive - developing 3.0,3.5 and Silverlight" 
<[EMAIL PROTECTED]>; 
Sent: Monday, July 30, 2007 2:55 AM
Subject: Re: [Mono-dev] Updated Silverlight


> I've fixed the plugin to work with the 1.1 update, although some changes
> might be considered breaking and/or portability problems if we want to
> support both 1.0 and 1.1.
>
> 1. The plugin name and mime type have changed (from "WPFe Plug-In"
>to "Silverlight Plug-In" and from "application/ag-pugin" to
>"application/x-silverlight", respectively).
> 2. the plugin script object needed the addition of a method
>"isVersionSupported".  right now it returns true only if the
>version string is "1.1", but that's easy enough to fix (to add
>"1.0") if that's what we want.
>
> One thing I've run into running the chess sample is that
> System.Windows.ResourceCollection no longer exists in agclr.dll.  It's
> been renamed to ResourceDictionary.  I've changed my local copy over to
> using this name, but wanted to check on what people think: should we be
> ifdef'ing and building 2 versions of agclr.dll (one for silverlight 1.0,
> one for 1.1)?
>
> Chris
>
> On Sat, 2007-07-28 at 18:27 +, Miguel de Icaza wrote:
>> Hello folks,
>>
>> An updated version of Silverlight 1.0 and 1.1 has been released;
>> There are no API changes on the 1.1 .NET API, but the quote from the
>> blog post is "more than 2000 bugs fixed" (this was in the rendering
>> engine), so it might be worth testing against this updated engine.
>>
>> Announcement:
>>
>> http://blogs.msdn.com/tims/archive/2007/07/27/silverlight-1-0-rc1-is-here.aspx
>>
>> Miguel.
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Updated Silverlight

2007-07-30 Thread pablosantosluac
Hi,

Where can I find screenshots of Mono/Linux/Silverlight?

pablo
- Original Message - 
From: "Chris Toshok" <[EMAIL PROTECTED]>
To: "Miguel de Icaza" <[EMAIL PROTECTED]>
Cc: "Mono Olive - developing 3.0,3.5 and Silverlight" 
<[EMAIL PROTECTED]>; 
Sent: Monday, July 30, 2007 2:55 AM
Subject: Re: [Mono-dev] Updated Silverlight


> I've fixed the plugin to work with the 1.1 update, although some changes
> might be considered breaking and/or portability problems if we want to
> support both 1.0 and 1.1.
>
> 1. The plugin name and mime type have changed (from "WPFe Plug-In"
>to "Silverlight Plug-In" and from "application/ag-pugin" to
>"application/x-silverlight", respectively).
> 2. the plugin script object needed the addition of a method
>"isVersionSupported".  right now it returns true only if the
>version string is "1.1", but that's easy enough to fix (to add
>"1.0") if that's what we want.
>
> One thing I've run into running the chess sample is that
> System.Windows.ResourceCollection no longer exists in agclr.dll.  It's
> been renamed to ResourceDictionary.  I've changed my local copy over to
> using this name, but wanted to check on what people think: should we be
> ifdef'ing and building 2 versions of agclr.dll (one for silverlight 1.0,
> one for 1.1)?
>
> Chris
>
> On Sat, 2007-07-28 at 18:27 +, Miguel de Icaza wrote:
>> Hello folks,
>>
>> An updated version of Silverlight 1.0 and 1.1 has been released;
>> There are no API changes on the 1.1 .NET API, but the quote from the
>> blog post is "more than 2000 bugs fixed" (this was in the rendering
>> engine), so it might be worth testing against this updated engine.
>>
>> Announcement:
>>
>> http://blogs.msdn.com/tims/archive/2007/07/27/silverlight-1-0-rc1-is-here.aspx
>>
>> Miguel.
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] GUID generation

2007-07-27 Thread pablosantosluac
Hi,

Thanks, I'll try CoCreateGuid and take a look at the libuuid.

pablo
  - Original Message - 
  From: Jonathan Chambers 
  To: Robert Jordan 
  Cc: mono-devel-list@lists.ximian.com 
  Sent: Friday, July 27, 2007 11:16 PM
  Subject: Re: [Mono-dev] GUID generation


  Hello,

pinvoking the the CoCreateGuid function from ole32.dll results in a 
time of 225 ms for mono. You could use that on Windows and libuuid on Linux (I 
didn't try it's performance).

  - Jonathan 


  On 7/27/07, Robert Jordan <[EMAIL PROTECTED]> wrote:
pablosantosluac wrote:
> This fix looks good (performance wise)
>
> I don't understand why it is taking so long... Specially taking into 
account that the old sun blade almost needs the same time... (it is about 5000 
bogomips...:-P) 
>
> Any idea why the .net implementation is faster?

Because MS.NET is probably p/invoking the unmanaged COM UUID
generation API.

Robert

>
> thanks, 
>
> pablo
>
>
>   - Original Message -----
>   From: Jonathan Chambers
>   To: pablosantosluac
>   Cc: mono-devel-list@lists.ximian.com 
>   Sent: Friday, July 27, 2007 7:18 PM
>   Subject: Re: [Mono-dev] GUID generation
>
>
>   Hello,
>
>   A quick test on my Xeon 3.6GHz reveals the following for me for 
generating a million GUIDs: 
>
>   .Net: 300 ms
>   mono: 2300 ms
>   mono (modified): 1875 ms
>
>   So, not quite sure why you see 8 seconds on your server. For the 
modified version, I simply made the byte array inside of NewGuid static (since 
we are already locking for the RNG) for some performance improvement. Can 
someone comment if that change is acceptable? 
>
>   Thanks,
>   Jonathan
>
>
>   On 7/27/07, pablosantosluac <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I need to generate a large number of GUIDs. I tried with my laptop 
and a 
> .net console application and it can generate about 1million GUIDs in 
about
> 480ms.
>
> Then I tried the same with mono and it needed 3.4 seconds.
>
> My surprise was trying on our Server (Intel(R) Xeon(TM) CPU 3.00GHz) 
where I
> got the following results:
>
> 8 seconds to generate a million of GUIDs.
>
> Surprinsingly my old Sun Blade 1000 took almost the same time 
(Solaris 10
> SPARC): 9 seconds. 
>
> I guess there is a reason why .NET implements faster GUID generation 
but, is
> there any other globally unique number generator for Mono/Linux which 
I can
> use? Also, any idea why the Xeon (which is much, much faster than 
both the 
> laptop and the Solaris box) is so slooow generating GUIDs?
>
> Thanks,
>
> pablo
>
> ___
> Mono-devel-list mailing list 
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 
>
>
>
>
>
> 
>
> ___
> Mono-devel-list mailing list 
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list





--


  ___
  Mono-devel-list mailing list
  Mono-devel-list@lists.ximian.com
  http://lists.ximian.com/mailman/listinfo/mono-devel-list
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] GUID generation

2007-07-27 Thread pablosantosluac
This fix looks good (performance wise)

I don't understand why it is taking so long... Specially taking into account 
that the old sun blade almost needs the same time... (it is about 5000 
bogomips...:-P)

Any idea why the .net implementation is faster?

thanks,

pablo


  - Original Message - 
  From: Jonathan Chambers 
  To: pablosantosluac 
  Cc: mono-devel-list@lists.ximian.com 
  Sent: Friday, July 27, 2007 7:18 PM
  Subject: Re: [Mono-dev] GUID generation


  Hello,

  A quick test on my Xeon 3.6GHz reveals the following for me for generating a 
million GUIDs:

  .Net: 300 ms
  mono: 2300 ms
  mono (modified): 1875 ms

  So, not quite sure why you see 8 seconds on your server. For the modified 
version, I simply made the byte array inside of NewGuid static (since we are 
already locking for the RNG) for some performance improvement. Can someone 
comment if that change is acceptable? 

  Thanks,
  Jonathan


  On 7/27/07, pablosantosluac <[EMAIL PROTECTED]> wrote:
Hi,

I need to generate a large number of GUIDs. I tried with my laptop and a
.net console application and it can generate about 1million GUIDs in about
480ms.

Then I tried the same with mono and it needed 3.4 seconds.

My surprise was trying on our Server (Intel(R) Xeon(TM) CPU 3.00GHz) where I
got the following results:

8 seconds to generate a million of GUIDs.

Surprinsingly my old Sun Blade 1000 took almost the same time (Solaris 10 
SPARC): 9 seconds.

I guess there is a reason why .NET implements faster GUID generation but, is
there any other globally unique number generator for Mono/Linux which I can
use? Also, any idea why the Xeon (which is much, much faster than both the 
laptop and the Solaris box) is so slooow generating GUIDs?

Thanks,

pablo

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] GUID generation

2007-07-27 Thread pablosantosluac
Hi,

I need to generate a large number of GUIDs. I tried with my laptop and a 
.net console application and it can generate about 1million GUIDs in about 
480ms.

Then I tried the same with mono and it needed 3.4 seconds.

My surprise was trying on our Server (Intel(R) Xeon(TM) CPU 3.00GHz) where I 
got the following results:

8 seconds to generate a million of GUIDs.

Surprinsingly my old Sun Blade 1000 took almost the same time (Solaris 10 
SPARC): 9 seconds.

I guess there is a reason why .NET implements faster GUID generation but, is 
there any other globally unique number generator for Mono/Linux which I can 
use? Also, any idea why the Xeon (which is much, much faster than both the 
laptop and the Solaris box) is so slooow generating GUIDs?

Thanks,

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Low level file access

2007-07-06 Thread pablosantosluac
Hi,

What should I use to access files (write, set time, set readonly or not, and 
so on) at low level using Handles or file descriptors? Is it compatible with 
Win32?

Thanks,

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Problems trying to compile Plastic on Linux

2007-07-03 Thread pablosantosluac
Ok, I'll try it :-P

But I'm afraid it is not a bug but just something I'm doing wrong with 
Mono...

We're also filing testcases for winforms but I expected it to be harder... 
Ok, I'll try... :-P

- Original Message - 
From: ""Andrés G. Aragoneses [ knocte ]"" <[EMAIL PROTECTED]>
To: 
Sent: Tuesday, July 03, 2007 3:26 PM
Subject: Re: [Mono-dev] Problems trying to compile Plastic on Linux


pablosantosluac escribió:
> I'll try but I'm afraid it won't be that easy. I guess a simple 
> application
> will work. The problem can be with our big projects: 7 dlls, some .exe,
>  >100KLOC... Yes, size shouldn't be the problem but understand it is not 
> that
> easy to reproduce...

Hugh, don't want to sound rude but in my case we have > 60 dlls, and
reducing Mono bugs to simple testcases still don't suppose a big task.
My last example is bug 81951.

Regards,

Andrés [ knocte ]

-- 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Problems trying to compile Plastic on Linux

2007-07-03 Thread pablosantosluac
Hi,

The assembly info doesn't contain a key file.

using System.Reflection;

using System.Runtime.CompilerServices;

[assembly: AssemblyDescription("BL063")]

[assembly: AssemblyConfiguration("")]

[assembly: AssemblyCompany("Codice Software, S.L.")]

[assembly: AssemblyProduct("Plastic")]

[assembly: AssemblyCopyright("2007")]

[assembly: AssemblyTrademark("2007")]

[assembly: AssemblyCulture("")]

[assembly: AssemblyVersion("1.5.63.0")]

[assembly: AssemblyDelaySign(false)]

[assembly: AssemblyKeyFile("")]


The NANT Version is quite old:

NAnt 0.85 (Build 0.85.1932.0; rc3; 16/04/2005)

But I tried with the last one included in one of the latest Mono VMWare 
machines and it fails too.

pablo


- Original Message - 
From: "Gert Driesen" <[EMAIL PROTECTED]>
To: "Paolo Molaro" <[EMAIL PROTECTED]>; 
Sent: Tuesday, July 03, 2007 11:43 AM
Subject: Re: [Mono-dev] Problems trying to compile Plastic on Linux


>
> - Original Message - 
> From: "Paolo Molaro" <[EMAIL PROTECTED]>
> To: 
> Sent: Tuesday, July 03, 2007 11:29 AM
> Subject: Re: [Mono-dev] Problems trying to compile Plastic on Linux
>
>
>> On 06/29/07 pablosantosluac wrote:
>>> I'm trying to compile the plastic server on linux using mono + NANT.
>>>
>>> It compiles all  the .dll and even the .exe targets, but at the end it
>>> fails:
>> [...]
>>>[al] Starting mono ("al.exe"
>>> @"/tmp/tmp3e9e47fd.tmp"
>>> /embed:"/home/CODICE/pablo/wk_pablo_juno/01nerva/src/server/loader/loaderTranslations.es.resources",loader.loaderTranslations.es.resources)'
>>> in '/home/CODICE/pablo/wk_pablo_juno/01nerva/'
>>>[al] ALINK: error A1044: Couldn't open
>>> '/home/CODICE/pablo/wk_pablo_juno/01nerva/bin/server' key file.
>>>
>>> BUILD FAILED - 0 non-fatal error(s), 45 warning(s)
>>>
>>> External Program Failed: al.exe (return code was 1):
>>> NAnt.Core.BuildException: External Program Failed: al.exe
>>> (return code was 1)
>>>   at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask ()
>>> [0x0]
>> [...]
>>> We do use a signed assembly but it is a .dll (the first one to be
>>> compiled,
>>> and it seems without problems).
>>>
>>> I guess it must be very simple, but I don't understand what key file
>>> ALINK
>>> is complaining about
>
> Can you check what the value of the AssemblyKeyFile attribute is in the
> assembly for which you're creating the satellite assembly ?
>
> AL will use that value to load the key from if the keyfile argument is not
> specified on the commandline (by NAnt).
>
> Also, what version of NAnt are you using ?
>
> Gert
>
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Problems trying to compile Plastic on Linux

2007-07-03 Thread pablosantosluac
Ok,

I'll try but I'm afraid it won't be that easy. I guess a simple application 
will work. The problem can be with our big projects: 7 dlls, some .exe, 
 >100KLOC... Yes, size shouldn't be the problem but understand it is not that 
easy to reproduce...



- Original Message - 
From: "Paolo Molaro" <[EMAIL PROTECTED]>
To: 
Sent: Tuesday, July 03, 2007 11:29 AM
Subject: Re: [Mono-dev] Problems trying to compile Plastic on Linux


> On 06/29/07 pablosantosluac wrote:
>> I'm trying to compile the plastic server on linux using mono + NANT.
>>
>> It compiles all  the .dll and even the .exe targets, but at the end it
>> fails:
> [...]
>>[al] Starting mono ("al.exe"
>> @"/tmp/tmp3e9e47fd.tmp"
>> /embed:"/home/CODICE/pablo/wk_pablo_juno/01nerva/src/server/loader/loaderTranslations.es.resources",loader.loaderTranslations.es.resources)'
>> in '/home/CODICE/pablo/wk_pablo_juno/01nerva/'
>>[al] ALINK: error A1044: Couldn't open
>> '/home/CODICE/pablo/wk_pablo_juno/01nerva/bin/server' key file.
>>
>> BUILD FAILED - 0 non-fatal error(s), 45 warning(s)
>>
>> External Program Failed: al.exe (return code was 1):
>> NAnt.Core.BuildException: External Program Failed: al.exe
>> (return code was 1)
>>   at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask ()
>> [0x0]
> [...]
>> We do use a signed assembly but it is a .dll (the first one to be 
>> compiled,
>> and it seems without problems).
>>
>> I guess it must be very simple, but I don't understand what key file 
>> ALINK
>> is complaining about
>
> Provide a tarball with a simple test case reproducing the issue and file
> a bug in bugzilla.
> Thanks!
>
> lupus
>
> -- 
> -
> [EMAIL PROTECTED] debian/rules
> [EMAIL PROTECTED] Monkeys do it better
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Problems trying to compile Plastic on Linux

2007-06-29 Thread pablosantosluac
Hi,

I'm trying to compile the plastic server on linux using mono + NANT.

It compiles all  the .dll and even the .exe targets, but at the end it 
fails:

[csc] Compilation succeeded - 3 warning(s)
   [al] Output file 
'/home/CODICE/pablo/wk_pablo_juno/01nerva/bin/server/es/loader.resources.dll' 
does not exist, rebuilding.
   [al] Compiling 0 files to 
'/home/CODICE/pablo/wk_pablo_juno/01nerva/bin/server/es/loader.resources.dll'."
   [al] Contents of /tmp/tmp3e9e47fd.tmp.
   [al] /target:"lib"
   [al] 
/out:"/home/CODICE/pablo/wk_pablo_juno/01nerva/bin/server/es/loader.resources.dll"
   [al] /culture:"es"
   [al] 
/template:"/home/CODICE/pablo/wk_pablo_juno/01nerva/bin/server/loader.exe"
   [al] /nologo
   [al]
   [al] Starting mono ("al.exe" 
@"/tmp/tmp3e9e47fd.tmp" 
/embed:"/home/CODICE/pablo/wk_pablo_juno/01nerva/src/server/loader/loaderTranslations.es.resources",loader.loaderTranslations.es.resources)'
 
in '/home/CODICE/pablo/wk_pablo_juno/01nerva/'
   [al] ALINK: error A1044: Couldn't open 
'/home/CODICE/pablo/wk_pablo_juno/01nerva/bin/server' key file.

BUILD FAILED - 0 non-fatal error(s), 45 warning(s)

External Program Failed: al.exe (return code was 1):
NAnt.Core.BuildException: External Program Failed: al.exe 
(return code was 1)
  at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask () 
[0x0]

Total time: 11.7 seconds.



We do use a signed assembly but it is a .dll (the first one to be compiled, 
and it seems without problems).

I guess it must be very simple, but I don't understand what key file ALINK 
is complaining about

pablo


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Modal forms on 1.2.4

2007-06-27 Thread pablosantosluac
http://bugzilla.ximian.com/show_bug.cgi?id=81957
- Original Message - 
From: "Andreia Gaita" <[EMAIL PROTECTED]>
To: "pablosantosluac" <[EMAIL PROTECTED]>
Cc: 
Sent: Sunday, June 24, 2007 5:04 PM
Subject: Re: [Mono-dev] Modal forms on 1.2.4


> Could you file a report, preferably with a small test case, please, on
> http://bugzilla.ximian.com/enter_bug.cgi?product=Mono%3A+Class%20Libraries&component=Windows.Forms
>
> Thank you
>
> andreia
>
> On 6/18/07, pablosantosluac <[EMAIL PROTECTED]> wrote:
>> Hi,
>>
>> It seems I can't submit messages to winforms list anymore.
>>
>> I've detected the following problem in 1.2.4 (it was not present in 
>> 1.2.3):
>>
>> 1- you have an application with a modal dialog
>> 2- the dialog runs another application (also a mono winforms app)
>> 3- the second app stays always below the launching one, which makes it
>> unusable
>>
>> pablo
>>
>> ___
>> Mono-devel-list mailing list
>> Mono-devel-list@lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] __wapi_thread_set_termination_details

2007-06-20 Thread pablosantosluac
Hi,

We're using a threadpool and when the application finishes, from time to 
time we get the following error:

_wapi_thread_set_termination_details: error looking up thread handle

Is just a WARNING message but I wonder why is it being raised

I mean, we're not creating new threads manually but using 
ThreadPool.QueueUserWorkItem method


pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Error in UnixGroupInfo

2007-06-20 Thread pablosantosluac
I would rather skip the wrong user name, I guess this is the regular 
behaviour on Unix systems



- Original Message - 
From: "Rafael Teixeira" <[EMAIL PROTECTED]>
To: "Jonathan Pryor" <[EMAIL PROTECTED]>
Cc: "pablosantosluac" <[EMAIL PROTECTED]>; 

Sent: Wednesday, June 20, 2007 3:11 PM
Subject: Re: [Mono-dev] Error in UnixGroupInfo


> Another variation to keep UnixUserInfo sealed, is to make the the
> class itself accept an invalid name or a -1 as the user id, and throw
> on any unknown property, except UserId (so sometimes the Name would
> also be available, which helps pinpoint the failures, didn't follow
> the GetMembers code to see if this would be the case).
>
> :)
>
> On 6/20/07, Rafael Teixeira <[EMAIL PROTECTED]> wrote:
>> An alternative is to return 'dummy' members for the missing ones in
>> GetMembers, aka
>> Fowler's Special Case pattern, from the PoEAA book.
>> For invalid users, return an instance of a subclass of
>> Mono.Unix.UnixUserInfo, that returns UserId as -1, or some other
>> invalid value. Also all other properties except Name would also have
>> neutral or invalid values, and methods would do/return nothing, for
>> this subclass.
>>
>> Just my 2 cents,
>>
>> On 6/20/07, Jonathan Pryor <[EMAIL PROTECTED]> wrote:
>> > On Wed, 2007-06-20 at 11:30 +0200, pablosantosluac wrote:
>> > > I have found an issue with Mono.Unix.UnixGroupInfo.GetMembers().
>> > >
>> > > This method is meant to return the UnixUserInfo for the members of 
>> > > the given
>> > > unix group. The issue arises when a system has an unexistent username
>> > > defined in the group file.
>> > >
>> > > This is rather frequent, especially in a NIS environment (lazy 
>> > > admins).
>> > > Normal unix behavior is to ignore the user and continue.
>> > > UnixGroupInfo.GetMembers() raises an 'invalid username' exception, 
>> > > and there
>> > > is no way to retrieve the rest of the users in the group.
>> > >
>> > > Is it right to absorb the exception in this method and continue 
>> > > resolving
>> > > other users?
>> >
>> > Good question.  I imagine that it would be more user-friendly to eat 
>> > the
>> > ArgumentException and return what it can, but it would then mean that
>> > the only way to know that there are invalid entries in the group file 
>> > is
>> > to compare UnixUserInfo.GetMembers().Length to
>> > UnixUserInfo.GetMemberNames().Length.
>> >
>> > Then again, is knowing that the group file has an invalid entry a 
>> > common
>> > scenario that should be documented?
>> >
>> > Opinions?
>> >
>> > Thanks,
>> >  - Jon
>> >
>> >
>> > ___
>> > Mono-devel-list mailing list
>> > Mono-devel-list@lists.ximian.com
>> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
>> >
>>
>>
>> --
>> Rafael "Monoman" Teixeira
>> ---
>> "The reasonable man adapts himself to the world; the unreasonable one
>> persists in trying to adapt the world to himself. Therefore all
>> progress depends on the unreasonable man." George Bernard Shaw
>>
>
>
> -- 
> Rafael "Monoman" Teixeira
> ---
> "The reasonable man adapts himself to the world; the unreasonable one
> persists in trying to adapt the world to himself. Therefore all
> progress depends on the unreasonable man." George Bernard Shaw 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Error in UnixGroupInfo

2007-06-20 Thread pablosantosluac
Hi,

I have found an issue with Mono.Unix.UnixGroupInfo.GetMembers().

This method is meant to return the UnixUserInfo for the members of the given
unix group. The issue arises when a system has an unexistent username
defined in the group file.

This is rather frequent, especially in a NIS environment (lazy admins).
Normal unix behavior is to ignore the user and continue.
UnixGroupInfo.GetMembers() raises an 'invalid username' exception, and there
is no way to retrieve the rest of the users in the group.

Is it right to absorb the exception in this method and continue resolving
other users?


pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


[Mono-dev] Modal forms on 1.2.4

2007-06-18 Thread pablosantosluac
Hi,

It seems I can't submit messages to winforms list anymore.

I've detected the following problem in 1.2.4 (it was not present in 1.2.3):

1- you have an application with a modal dialog
2- the dialog runs another application (also a mono winforms app)
3- the second app stays always below the launching one, which makes it 
unusable

pablo 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Subversion on MonoDevelop

2007-05-28 Thread pablosantosluac
Well, we have some experience doing tree-way merge tools with Mono Winforms 
on Linux... :-P


- Original Message - 
From: "Rafael Teixeira" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: "Vladimir Giszpenc" <[EMAIL PROTECTED]>; 

Sent: Monday, May 28, 2007 4:12 PM
Subject: Re: [Mono-dev] Subversion on MonoDevelop


> inline
>
> On 5/28/07, Lluis Sanchez <[EMAIL PROTECTED]> wrote:
>> El dv 25 de 05 del 2007 a les 08:04 -0400, en/na Vladimir Giszpenc va
>> escriure:
>> > Hi,
>> >
>> > PS While I am on the subject of Subversion, why is the diff window not 
>> > editable?
>>
>> Why should it be editable? What should allow you to edit? or do you mean
>> 'selectable'?
>>
>> Lluis.
>
> Perhaps, what Vladimir wants is a "merge tool" window for the diff,
> like the 3-pane one in TortoiseSVN, when there is conflicts.
>
> :)
>
>
> -- 
> Rafael "Monoman" Teixeira
> ---
> "The reasonable man adapts himself to the world; the unreasonable one
> persists in trying to adapt the world to himself. Therefore all
> progress depends on the unreasonable man." George Bernard Shaw
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list 

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


  1   2   3   >