Working on a 3Ghz machine, I always had problems with GUI development,
because everything happened so fast, I couldn't see the individual widgets and canvases (re)display in order to track down inefficient and multiple redraws, updates etc. I just discovered a CPU throttling utility (RightMark) a few minutes ago and it perfectly downgrades my PC to run at 600MHz clock (actually the performance feels even much slower). Now I can watch all the widgets being drawn in slow motion and won't miss a single refresh/update anymore (very much like on the current Mac VM ;-) I remember a quote saying "Give your developers slow machines in order to get high quality applications". I just thought that might be of interest for you all. Andre |
Does anybody know of any software to throttle the network speed? I
would like to test some distributed computing code at more WAN like speeds without having to actually test over the internet. Mike On Jan 13, 2007, at 6:29 AM, Andre Schnoor wrote: > Working on a 3Ghz machine, I always had problems with GUI > development, because everything happened so fast, I couldn't see > the individual widgets and canvases (re)display in order to track > down inefficient and multiple redraws, updates etc. > > I just discovered a CPU throttling utility (RightMark) a few > minutes ago and it perfectly downgrades my PC to run at 600MHz > clock (actually the performance feels even much slower). Now I can > watch all the widgets being drawn in slow motion and won't miss a > single refresh/update anymore (very much like on the current Mac > VM ;-) > > I remember a quote saying "Give your developers slow machines in > order to get high quality applications". I just thought that might > be of interest for you all. > > Andre > |
Hi Mike:
That's easy, just start up iTunes and stream some audio or video *over the net*. ;-) On Jan 13, 2007, at 5:28 AM, Mike Hales wrote: > Does anybody know of any software to throttle the network speed? I > would like to test some distributed computing code at more WAN like > speeds without having to actually test over the internet. > > Mike > > > On Jan 13, 2007, at 6:29 AM, Andre Schnoor wrote: > >> Working on a 3Ghz machine, I always had problems with GUI >> development, because everything happened so fast, I couldn't see >> the individual widgets and canvases (re)display in order to track >> down inefficient and multiple redraws, updates etc. >> >> I just discovered a CPU throttling utility (RightMark) a few >> minutes ago and it perfectly downgrades my PC to run at 600MHz >> clock (actually the performance feels even much slower). Now I can >> watch all the widgets being drawn in slow motion and won't miss a >> single refresh/update anymore (very much like on the current Mac >> VM ;-) >> >> I remember a quote saying "Give your developers slow machines in >> order to get high quality applications". I just thought that might >> be of interest for you all. >> >> Andre >> > Thanks!! Joseph Bacanskas [|] --- I use Smalltalk. My amp goes to eleven. |
In reply to this post by Andre Schnoor
VMWare has this functionality: you can set the bandwidth and packet loss
between two or more VMs running as a team on the same virtual LAN segment. http://www.vmware.com/support/ws5/doc/releasenotes_ws5.html (first para) You can't set latency with VMWare, which is a shame. Anyone know of an cheap and easy way to increase latency? (/me waits to be deluged with humour...) Steve > -----Original Message----- > From: Mike Hales [mailto:[hidden email]] > Sent: 13 January 2007 15:29 > To: vwnc-list > Subject: Re: GUI development tip: Throttle CPU clock > > Does anybody know of any software to throttle the network speed? I > would like to test some distributed computing code at more WAN like > speeds without having to actually test over the internet. > > Mike > > > On Jan 13, 2007, at 6:29 AM, Andre Schnoor wrote: > > > Working on a 3Ghz machine, I always had problems with GUI > > development, because everything happened so fast, I couldn't see > > the individual widgets and canvases (re)display in order to track > > down inefficient and multiple redraws, updates etc. > > > > I just discovered a CPU throttling utility (RightMark) a few > > minutes ago and it perfectly downgrades my PC to run at 600MHz > > clock (actually the performance feels even much slower). Now I can > > watch all the widgets being drawn in slow motion and won't miss a > > single refresh/update anymore (very much like on the current Mac > > VM ;-) > > > > I remember a quote saying "Give your developers slow machines in > > order to get high quality applications". I just thought that might > > be of interest for you all. > > > > Andre > > |
Steven Kelly wrote:
> VMWare has this functionality: you can set the bandwidth and packet loss > between two or more VMs running as a team on the same virtual LAN > segment. > http://www.vmware.com/support/ws5/doc/releasenotes_ws5.html (first para) > > You can't set latency with VMWare, which is a shame. Anyone know of an > cheap and easy way to increase latency? (/me waits to be deluged with > humour...) > We've looked at setting up a network simulator for this kind of thing, but haven't done so. I believe that there are commercial systems available, but we were looking at open source. I can't recall which open-source network simulator software we were looking at, but the hardware would be an old slow PC running modern Linux. The hardware can be old and slow because we don't need this machine to simulate a fast, reliable network (we have one of those) but to simulate a slow network that drops packets, delays packets, and delivers packets out of order. We're still hoping to set this up at some point, so if you do something like this I'd be interested in your experience. Regards, -Martin |
I thought of a way that might be pretty easy to set up, but I haven't
tried it yet. With SSH you can set it up to forward ports remotely and locally. You could just set up a number of them that forward back and forth, as many as it takes to increase the latency. For example I could have my client connect to port 8080 on the server, which forwards to 8081 on the client which forwards to 8081 on the server which has the app listening. You could then increase the number of forwarders as needed. Do this on an old box on an old hub and you could probably simulate a latent connection pretty well. It could be done with just SSH and a simple script to set it up. I'll give it a try and post back sometime. Mike On Jan 15, 2007, at 2:43 PM, Martin McClure wrote: > Steven Kelly wrote: >> VMWare has this functionality: you can set the bandwidth and >> packet loss >> between two or more VMs running as a team on the same virtual LAN >> segment. http://www.vmware.com/support/ws5/doc/ >> releasenotes_ws5.html (first para) >> You can't set latency with VMWare, which is a shame. Anyone know >> of an >> cheap and easy way to increase latency? (/me waits to be deluged with >> humour...) > > We've looked at setting up a network simulator for this kind of > thing, but haven't done so. I believe that there are commercial > systems available, but we were looking at open source. > > I can't recall which open-source network simulator software we were > looking at, but the hardware would be an old slow PC running modern > Linux. The hardware can be old and slow because we don't need this > machine to simulate a fast, reliable network (we have one of those) > but to simulate a slow network that drops packets, delays packets, > and delivers packets out of order. > > We're still hoping to set this up at some point, so if you do > something like this I'd be interested in your experience. > > Regards, > > -Martin > |
In reply to this post by Martin McClure
I don't know much about it, but I noticed a lot of new support for VLANs (virtual LANs) in Linux. I assume they became more interesting with the new HW virtualization wave coming. I wonder if those won't let you tune things like that.
Martin McClure wrote: > Steven Kelly wrote: >> VMWare has this functionality: you can set the bandwidth and packet loss >> between two or more VMs running as a team on the same virtual LAN >> segment. http://www.vmware.com/support/ws5/doc/releasenotes_ws5.html >> (first para) >> >> You can't set latency with VMWare, which is a shame. Anyone know of an >> cheap and easy way to increase latency? (/me waits to be deluged with >> humour...) >> > > We've looked at setting up a network simulator for this kind of thing, > but haven't done so. I believe that there are commercial systems > available, but we were looking at open source. > > I can't recall which open-source network simulator software we were > looking at, but the hardware would be an old slow PC running modern > Linux. The hardware can be old and slow because we don't need this > machine to simulate a fast, reliable network (we have one of those) but > to simulate a slow network that drops packets, delays packets, and > delivers packets out of order. > > We're still hoping to set this up at some point, so if you do something > like this I'd be interested in your experience. > > Regards, > > -Martin > > |
In reply to this post by Mike Hales
It would be very helpful to me if when I print out a stack from a
methodContext into my debugging log that I could also get printStrings for each of the parameters passed for each level of the stack, and perhaps even a list of ivars and temps for the top level receiver. Is there something built-in that I'm not finding, or perhaps someone has written some code to do this? Thanks! -Carl Gundel, author of Liberty BASIC http://www.libertybasic.com |
Hi Carl,
You can use the RuntimeImageDumper from the RuntimePackager parcel. This one supplies a lot of information about the stack, currently opened windows, open database cursors, other processes etc. -----Original Message----- From: Carl Gundel [mailto:[hidden email]] Sent: dinsdag 16 januari 2007 1:01 To: vwnc-list Subject: More information from stack? It would be very helpful to me if when I print out a stack from a methodContext into my debugging log that I could also get printStrings for each of the parameters passed for each level of the stack, and perhaps even a list of ivars and temps for the top level receiver. Is there something built-in that I'm not finding, or perhaps someone has written some code to do this? Thanks! -Carl Gundel, author of Liberty BASIC http://www.libertybasic.com |
In reply to this post by Andre Schnoor
Thanks for the suggestions!
Just as a side note, the quickest way I know at present is to use a cable modem connection (longer ping times than ADSL) and/or a VPN (adds significant latency). Not particularly configurable, but works in a pinch. Steve > -----Original Message----- > From: Martin Kobetic [mailto:[hidden email]] > Sent: 15 January 2007 23:12 > To: Martin McClure > Cc: vwnc-list > Subject: Re: GUI development tip: Throttle CPU clock > > I don't know much about it, but I noticed a lot of new support for VLANs > (virtual LANs) in Linux. I assume they became more interesting with the > new HW virtualization wave coming. I wonder if those won't let you tune > things like that. > -----Original Message----- > From: Mike Hales [mailto:[hidden email]] > Sent: 15 January 2007 22:46 > To: vwnc-list > Subject: Re: GUI development tip: Throttle CPU clock > > I thought of a way that might be pretty easy to set up, but I haven't > tried it yet. With SSH you can set it up to forward ports remotely > and locally. You could just set up a number of them that forward > back and forth, as many as it takes to increase the latency. For > example I could have my client connect to port 8080 on the server, > which forwards to 8081 on the client which forwards to 8081 on the > server which has the app listening. You could then increase the > number of forwarders as needed. Do this on an old box on an old hub > and you could probably simulate a latent connection pretty well. It > could be done with just SSH and a simple script to set it up. I'll > give it a try and post back sometime. > > Martin McClure wrote: > > Steven Kelly wrote: > >> VMWare has this functionality: you can set the bandwidth and packet > loss > >> between two or more VMs running as a team on the same virtual LAN > >> segment. > >> (first para) > >> > >> You can't set latency with VMWare, which is a shame. Anyone know of an > >> cheap and easy way to increase latency? (/me waits to be deluged with > >> humour...) > >> > > > > We've looked at setting up a network simulator for this kind of thing, > > but haven't done so. I believe that there are commercial systems > > available, but we were looking at open source. > > > > I can't recall which open-source network simulator software we were > > looking at, but the hardware would be an old slow PC running modern > > Linux. The hardware can be old and slow because we don't need this > > machine to simulate a fast, reliable network (we have one of those) but > > to simulate a slow network that drops packets, delays packets, and > > delivers packets out of order. > > > > We're still hoping to set this up at some point, so if you do something > > like this I'd be interested in your experience. > > > > Regards, > > > > -Martin > > > > |
In reply to this post by Carl Gundel
Load parcel RuntimePackager and execute the code below. It provides
the basis for testing how error logs are written to disk. [1/0] on: Error do: [:anException | (RuntimePackager.RuntimeImageDumper ) dumpSystemImage: anException context: thisContext on: 'debugerror.log' asFilename] Using the code you can look at how RuntimePackager.RuntimeDumperFramework>>dumpStack: behaves. It traverses stackTop and prints each frame. As far as I can see, the printString for the parameters is in fact displayed. Are you looking for the displayString instead? Now, if you want to modify the way the error log is created, you can read this blog post: http://www.cincomsmalltalk.com/userblogs/runarj/blogView?showComments=true&entry=3273488370 My guess is that if you want to change the way each frame is displayed in the log (without modifying existing VW code), you need to override (the long method) dumpStack: in your own subclass of RuntimeImageDumper. Runar Jordahl |
In reply to this post by Carl Gundel
Hi Carl,
To get a stack report out of exceptions you can use this: DebuggerService shortStackFor: anException initialContext ofSize: 30 I'm using this for composing a web page with error report on Aida/Web app server and it seems that you need a very similar solution. Best regards Janko Carl Gundel wrote: > It would be very helpful to me if when I print out a stack from a > methodContext into my debugging log that I could also get printStrings > for each of the parameters passed for each level of the stack, and > perhaps even a list of ivars and temps for the top level receiver. Is > there something built-in that I'm not finding, or perhaps someone has > written some code to do this? > > Thanks! > > -Carl Gundel, author of Liberty BASIC > http://www.libertybasic.com |
In reply to this post by Steven Kelly
I have not tested this tool, but it should the job at around USD 1600!
Is that cheap enough? ;-| "NetDisturb - Impairment Emulator for IP Networks with loss, delay and jitter functions" http://www.omnicor.com/netest.htm > You can't set latency with VMWare, which is a shame. Anyone know of an > cheap and easy way to increase latency? |
In reply to this post by Steven Kelly
Steven I disagree,
My Cable connection gives me throughput, and responsiveness I never seen in any corporate settings. However, Here is and Idea for poor man network simulator - at cost of about $150 as well. Buy inexpensive wireless router such as Dlink DI524 - around $30, and two wifi network cards (DWL-G510) which would support WPA $40 each. Now you have a perfect setup of unreliable network. Just move you router behind some office door ( they are usually metal and grounded) and monitor the link quality and signal strength on your network interfaces. you can monitor and modify the total bandwidth of the router Enable the 256 bit WPA and you will add to the unreliability of you networking test environment. I use that kind of setup to test network applications. Work as unreliable as it gets. Steven Kelly wrote: > Thanks for the suggestions! > > Just as a side note, the quickest way I know at present is to use a > cable modem connection (longer ping times than ADSL) and/or a VPN (adds > significant latency). Not particularly configurable, but works in a > pinch. > > Steve > > >>-----Original Message----- >>From: Martin Kobetic [mailto:[hidden email]] >>Sent: 15 January 2007 23:12 >>To: Martin McClure >>Cc: vwnc-list >>Subject: Re: GUI development tip: Throttle CPU clock >> >>I don't know much about it, but I noticed a lot of new support for > > VLANs > >>(virtual LANs) in Linux. I assume they became more interesting with > > the > >>new HW virtualization wave coming. I wonder if those won't let you > > tune > >>things like that. > > >>-----Original Message----- >>From: Mike Hales [mailto:[hidden email]] >>Sent: 15 January 2007 22:46 >>To: vwnc-list >>Subject: Re: GUI development tip: Throttle CPU clock >> >>I thought of a way that might be pretty easy to set up, but I haven't >>tried it yet. With SSH you can set it up to forward ports remotely >>and locally. You could just set up a number of them that forward >>back and forth, as many as it takes to increase the latency. For >>example I could have my client connect to port 8080 on the server, >>which forwards to 8081 on the client which forwards to 8081 on the >>server which has the app listening. You could then increase the >>number of forwarders as needed. Do this on an old box on an old hub >>and you could probably simulate a latent connection pretty well. It >>could be done with just SSH and a simple script to set it up. I'll >>give it a try and post back sometime. >> >>Martin McClure wrote: >> >>>Steven Kelly wrote: >>> >>>>VMWare has this functionality: you can set the bandwidth and packet >> >>loss >> >>>>between two or more VMs running as a team on the same virtual LAN >>>>segment. > > http://www.vmware.com/support/ws5/doc/releasenotes_ws5.html > >>>>(first para) >>>> >>>>You can't set latency with VMWare, which is a shame. Anyone know of > > an > >>>>cheap and easy way to increase latency? (/me waits to be deluged > > with > >>>>humour...) >>>> >>> >>>We've looked at setting up a network simulator for this kind of > > thing, > >>>but haven't done so. I believe that there are commercial systems >>>available, but we were looking at open source. >>> >>>I can't recall which open-source network simulator software we were >>>looking at, but the hardware would be an old slow PC running modern >>>Linux. The hardware can be old and slow because we don't need this >>>machine to simulate a fast, reliable network (we have one of those) > > but > >>>to simulate a slow network that drops packets, delays packets, and >>>delivers packets out of order. >>> >>>We're still hoping to set this up at some point, so if you do > > something > >>>like this I'd be interested in your experience. >>> >>>Regards, >>> >>>-Martin >>> >>> > > > > |
In reply to this post by Mike Hales
Here is a howto for doing it with a FreeBSD box: http://vorlon.case.edu/~vxl11/NetBots/wan_emu_howto.pdf I know similar tricks are possible with the latest Linux kernels but I couldn't immediately find references and have to run off now ;-) R - On Jan 13, 2007, at 2:28 PM, Mike Hales wrote: > Does anybody know of any software to throttle the network speed? I > would like to test some distributed computing code at more WAN like > speeds without having to actually test over the internet. > > Mike > > > On Jan 13, 2007, at 6:29 AM, Andre Schnoor wrote: > >> Working on a 3Ghz machine, I always had problems with GUI >> development, because everything happened so fast, I couldn't see >> the individual widgets and canvases (re)display in order to track >> down inefficient and multiple redraws, updates etc. >> >> I just discovered a CPU throttling utility (RightMark) a few >> minutes ago and it perfectly downgrades my PC to run at 600MHz >> clock (actually the performance feels even much slower). Now I can >> watch all the widgets being drawn in slow motion and won't miss a >> single refresh/update anymore (very much like on the current Mac >> VM ;-) >> >> I remember a quote saying "Give your developers slow machines in >> order to get high quality applications". I just thought that might >> be of interest for you all. >> >> Andre >> > > |
In reply to this post by Janko Mivšek
I note that in 7.5 the default headless error logs now use
the more verbose format.
At 05:25 AM 1/16/2007, Janko Mivek wrote: Hi Carl, --
Alan Knight [|], Cincom Smalltalk Development
"The Static Typing Philosophy: Make it fast. Make it right.
Make it run." - Niall Ross
|
In reply to this post by Reinout Heeck
For Linux...
I believe that the network simulator we were looking at was NIST Net: http://www-x.antd.nist.gov/nistnet/ This is clearly free, but hasn't been updated in a while, and the Linux kernel's network handling has gotten a lot more capable in the meantime. NCTUns: http://nsl10.csie.nctu.edu.tw/ is being actively developed, and it looks like it will do what's required. It's unclear what its license is, though it's "open source". Regards, -Martin |
I've finally found what I played with in the past: NetEm
http://linux-net.osdl.org/index.php/Netem it comes standard with the latest Linux distros. I played with it about two years ago when it was too unstable (it was very early in its development) to be usable, I suppose the situation would be better now :-) R - On Jan 17, 2007, at 12:15 AM, Martin McClure wrote: > For Linux... > > I believe that the network simulator we were looking at was NIST Net: > > http://www-x.antd.nist.gov/nistnet/ > > This is clearly free, but hasn't been updated in a while, and the > Linux > kernel's network handling has gotten a lot more capable in the > meantime. > > NCTUns: > > http://nsl10.csie.nctu.edu.tw/ > > is being actively developed, and it looks like it will do what's > required. It's unclear what its license is, though it's "open source". > > Regards, > > -Martin > > |
Reinout Heeck wrote:
> I've finally found what I played with in the past: NetEm > > http://linux-net.osdl.org/index.php/Netem > > it comes standard with the latest Linux distros. Ooh, that looks just right. Thanks for posting the link! -Martin |
In reply to this post by Alan Knight-2
You can. And I think what I said is that in 7.5 it *is* used
by default.
At 04:28 PM 1/22/2007, Dennis Smith wrote: If the code exists, why can we not just invoke it?? or even make it an option to use it by default?? -- Dennis Smith [hidden email] Cherniak Software +1 905.771.7011 400-10 Commerce Valley Dr E Fax: +1 905.771.6288 Thornhill, ON Canada L3T 7N7 http://www.CherniakSoftware.com New offices as of January 22, 2007: 509-2001 Sheppard Avenue East +1 416.798.7948 Toronto, ON Canada M2J 4Z8 Fax: +1 416.798.0948 Entrance off Yorkland Blvd south of Sheppard east of Don Valley Pkwy --
Alan Knight [|], Cincom Smalltalk Development
"The Static Typing Philosophy: Make it fast. Make it right.
Make it run." - Niall Ross
|
Free forum by Nabble | Edit this page |