Date: Wed, 22 Dec 93 04:30:01 PST From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu> Errors-To: TCP-Group-Errors@UCSD.Edu Reply-To: TCP-Group@UCSD.Edu Precedence: Bulk Subject: TCP-Group Digest V93 #330 To: tcp-group-digest TCP-Group Digest Wed, 22 Dec 93 Volume 93 : Issue 330 Today's Topics: Borland C++ 4.0 sequential decoding performance? (3 msgs) Dealing with multiple ports... GCC? LZW Memory access in NOS. (2 msgs) OS/2 and KA9Q code. X1J questions Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>. Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>. Problems you can't solve otherwise to brian@ucsd.edu. Archives of past issues of the TCP-Group Digest are available (by FTP only) from UCSD.Edu in directory "mailarchives". We trust that readers are intelligent enough to realize that all text herein consists of personal comments and does not represent the official policies or positions of any party. Your mileage may vary. So there. ---------------------------------------------------------------------- Date: Tue, 21 Dec 1993 07:57:42 -0600 (CST) From: drk@fed-ins.ca (Dan Keizer) Subject: Borland C++ 4.0 sequential decoding performance? To: karn@unix.ka9q.ampr.org (Phil Karn) > ... faster than 3.1 before I buy it, otherwise I think I'll look seriously > at the GCC port. Yes! ... I've always thought at using GCC for NOS ... It gets my nod as a defacto compiler to use for nos... I've never gone further than that into looking at it though ... It would be interesting to see it's performance... Dan. ------------------------------------------------------------------------ Dan Keizer, VE4DRK Federated Insurance Company of Canada drk@fed-ins.ca 717 Portage Ave, Winnipeg, MB R3C 3C9 Opinions are mine and that's that. TEL:(204) 786-6431 FAX:(204) 786-5707 ------------------------------ Date: Tue, 21 Dec 1993 11:15:51 -0800 (PST) From: Lyndon Nerenberg <lyndon@unbc.edu> Subject: Borland C++ 4.0 sequential decoding performance? To: Dan Keizer <drk@fed-ins.ca> > Yes! ... I've always thought at using GCC > for NOS ... It gets my nod as a defacto compiler to use for nos... > I've never gone further than that into looking at it though ... It would > be interesting to see it's performance... Just before we all jump into a vat of hot oil for a swim ... will GCC compiled 32 bit app's run under Windoze or any of the other DOS multi-taskers? My understanding is that GCC takes liberties that make the compiled applications not get along with task switchers and such. If GCC won't let me run NOS under windows then I can't use the resulting product. --lyndon ------------------------------ Date: Tue, 21 Dec 1993 14:31:58 -0600 (CST) From: drk@fed-ins.ca (Dan Keizer) Subject: Borland C++ 4.0 sequential decoding performance? To: lyndon@unbc.edu (Lyndon Nerenberg) > If GCC won't let me run NOS under windows then I can't use the resulting > product. I believe I've seen the GNU chess program available for Windows. My impression would be that it would be compiled with GCC. Anyone able to confirm or deny that? There's also nothing stating we can't go ahead and make conditional entries for GCC vs BORLAND specific coding. I'm no expert at identifying the differences between the two, but given the speed increase that Phil has identified in some other programs, it would be interesting to see the results. Not only that, but having a freely available compiler for anyone to use for NOS strikes a good chord with me as well. :-) Dan. ------------------------------------------------------------------------ Dan Keizer, VE4DRK Federated Insurance Company of Canada drk@fed-ins.ca 717 Portage Ave, Winnipeg, MB R3C 3C9 Opinions are mine and that's that. TEL:(204) 786-6431 FAX:(204) 786-5707 ------------------------------ Date: Tue, 21 Dec 1993 11:56:55 -0500 (EST) From: "Barry McLarnon" <barry@skat.dgbt.doc.ca> Subject: Dealing with multiple ports... To: tcp-group@ucsd.edu > > This gateway (uugate) now has multiple ports by which a TCP/IP users > > may connect. How does one make sure packets get routed to the correct port? > > Is this something that one would need ARP to handle? > > One way to approach this would be to use one sub-net for one port and > one sub-net for the second port. Locally... we have 44.28.0.x users on our > 2 mtr port and 44.28.1.x users on our 440 port. The gateway uses a single IP > address for both ports. 440 users use a > route add 44.28.0/24 portname gateway > route add 44.28.1/24 portname > and 2 mtr users do a > route add 44.28.1/24 portname gateway > route add 44.28.0/24 portname > > This won't handle a user picking ports randomly. I don't think that anything > will handle a user picking ports at random using the same IP address. For Au contraire... we do that in Ottawa, using RIP. I don't much like subnetting by frequency... hams being what they are, they want to be able to switch frequencies to dodge congestion, or when the network access port on their usual frequency goes down. In this area, we have a flat address space, and users announce their presence on a given frequency by means of RIP broadcasts (interval of 10 min for 1200bps users). A 'rip kick' command was added to JNOS so that a broadcast could be forced (e.g., at startup in the autoexec file) instead of waiting for the rip timer to expire. The only limitation on changing frequency is that the old route must age out before the new one takes effect, so there is a delay of half an hour or so. The RIP code could probably be hacked to permit faster frequency changes, but we haven't found it necessary to do anything radical to the code. It sure beats subnetting by frequency (and as IP address coordinator, I can certainly do without the hassle of administering same :-). We have IP activity on at least 8 different frequencies in the area (no segregation practiced here :-), so subnetting by frequency would be a logistical nightmare... This isn't exactly what the designers of RIP had in mind (e.g., individual hosts announcing routes to themselves), but it works pretty well in our environment. Now that some RIP-2 code is available, maybe some further enhancements are possible, but I haven't had time to look at it yet. > 73's de Jack - kf5mg Happy holidays, y'all... Barry VE3JF -- Barry McLarnon | Internet: barry@dgbt.doc.ca Communications Research Center | AMPRnet: barry@bbs.ve3jf.ampr.org Ottawa, Canada K2H 8S2 | PBBSnet: ve3jf@ve3jf.#eon.on.can ------------------------------ Date: Tue, 21 Dec 1993 16:49:18 -0500 From: goldstein@carafe.tay2.dec.com (k1io, FN42jk) Subject: GCC? To: tcp-group@ucsd.edu This is only from memory... I haven't tried it... THe original GCC compiler accessed 32-bit space by using VCPI. That's obsolete, and incompatible with WIndows and OS/2 DOS boxes. If they've switched to a newer, more supported format (like DPMI) then it might work... I remember this from some flame wars a couple years ago on a Usenet group. ------------------------------ Date: Tue, 21 Dec 93 15:51:35 CST From: kf5mg@kf5mg.ampr.org Subject: LZW To: tcp-group@ucsd.edu > With FTP most all of the downloads are zipped binary files and I am sure > that lzw does not compress anymore and probably adds more overhead. Is this > true? Maybe you only use it on ascii transfers. The LZW on FTP sockets only works on ASCII transfers. I did some more quick testing. I transferred a 5K ASCII file. With compression off... it took 10, 512K packets to transfer the data. With compression on ( 9 bit ) it took 6.5 512K packets to transfer the data. With compression on ( 13 bit ) it took 5.25 packets to transfer the data but was NOTICEABLY slower than the 9 bit compression mode. > pkzip with maximum compression does at least 50-60% on text files. With all > the hype about lzw I thought it would be better. Maybe I will try more bits. I'm reasonably certain that LZW compression works a small portion of the data at a time. As soon as it gets a buffer equal to MSS size, NOS sends the buffer. PKZIP on the other hand has the luxury of working with the entire file. PKZIP might get 50% compression on a large file (5K), but it is much less on a small file ( 1K ) That's one of the reasons the LZW compression does not do as much as you think it would. If it could process the entire file a head of time, the compression would be greater, but it would require more storage that is used today. There's a good book on different Data Compression schemes. It's called 'The Data Compression book' and comes with the code on a disk. The author is Nelson. I can understand most of the stuff in the book, but can't make heads or tails from the JNOS LZW files. It might be possible to implement a better LZW compression routine ( there are several ) or a different encoding scheme altogether. > It does have one advantage though and that is the visual scrambling of > the data. Not that we are trying to hide anything..... We're not hiding.... we're compressing. At 1200b, every little bit helps. 73's de Jack - kf5mg Internet - kf5mg@kf5mg.ampr.org - 44.28.0.14 AX25net - kf5mg@kf5mg.#dfw.tx.usa.noam - home (817) 488-4386 ------------------------------------------------------------------------- | "I am Homer of Borg.... Prepare to be assim.... oooo Donuts." | ------------------------------------------------------------------------- ------------------------------ Date: Tue, 21 Dec 93 21:23:02 CST From: kf5mg@kf5mg.ampr.org Subject: Memory access in NOS. To: tcp-group@ucsd.edu I want to look at who calls malloc() and free() and when the are called. I want to get a feel for why after 26.6 hours, my system has issued 585,000 allocs. The diff count is 615. I'm not all that concerned about the diffs, but I'm thinking that half-a-million plus mallocs (6 per second for a 26.6 hour period ) is a bit excessive. I've always had problems with memory fragmentation. My mem free table is about a page. There are lots of small, 16, 32, 64 byte slots free that fragment storage. I'd like to find out what routines call malloc() and see if there are any patterns. It would be nice if I found that several routines made up 50% of the mallocs and frees and could be changed to use static variables. This would greatly reduce the calls to malloc and free and would improve system performance. Does anyone know how I can figure out who called malloc() and when the associated block was free'd? If I use a fprintf() statement in the malloc code, I'll know when the code was called, but I won't know who called it. I might also get in trouble because fprintf() will probably call malloc() and I'll start looping. Can I use the Borland Debugger to do what I want? Any info would be appreciated. 73's de Jack - kf5mg Internet - kf5mg@kf5mg.ampr.org - 44.28.0.14 AX25net - kf5mg@kf5mg.#dfw.tx.usa.noam - home (817) 488-4386 Dialup - kf5mg@tcet.unt.edu - work (not any more) ------------------------------ Date: Wed, 22 Dec 93 00:10 PST From: bob@nyssa.wa7ipx.ampr.org (Bob Finch) Subject: Memory access in NOS. To: kf5mg@kf5mg.ampr.org >>>>> On Tue, 21 Dec 93 21:23:02 CST, henson!kf5mg.ampr.org!kf5mg said: Jack> Does anyone know how I can figure out who called malloc() and Jack> when the associated block was free'd? Take a look at stktrace.c in Phil's code -- it writes a stack backtrace (with symbolic names) to a file. 73 -- Bob ------------------------------ Date: Tue, 21 Dec 93 07:32:38 EST From: n4clh@vnet.IBM.COM Subject: OS/2 and KA9Q code. To: TCP-Group@UCSD.Edu I have also been unable to get it to stay up under OS/2. The WG7J 1.15 compile seems to work just fine. Hey Phil, anything we can do to assist in diagnose'n the problem? I like the encrypted password, and the screen roll back. 73, => Bob - N4CLH @ WA4BRO.ATL.GA.USA.NA => amprnet - 44.36.0.120 (n4clh.ampr.org) Atlanta, GA. => internet - rwaustin@atlvm1.vnet.ibm.com ------------------------------ Date: Tue, 21 Dec 93 11:55:53 CST From: kf5mg@kf5mg.ampr.org Subject: X1J questions To: tcp-group@ucsd.edu What are the options for attaching a X1J TNC to a NOS box? I don't have NET/ROM loaded on the NOS Box and don't want to load Net/Rom. I'd like the TNC to act as an IP router for normal radio traffic and route stuff for the NOS Box to the NOS Box via the serial port on the TNC. Is that possible? At some point... I want to make the TNC ( MFJ-1270B ) a digital, bit-regenerating repeater. Either on 1200b or 9600b. Will the software handle this, or would I have to do a hardware mod to the TNC? If it's a hardware mod... is it the same mode for both a 1200b TNC and a 9600b tnc? Thanks. 73's de Jack - kf5mg Internet - kf5mg@kf5mg.ampr.org - 44.28.0.14 AX25net - kf5mg@kf5mg.#dfw.tx.usa.noam - home (817) 488-4386 Worknet - kf5mg@vnet.ibm.com - work (817) 962-4409 ------------------------------------------------------------------------- | "I am Homer of Borg.... Prepare to be assim.... oooo Donuts." | ------------------------------------------------------------------------- ------------------------------ End of TCP-Group Digest V93 #330 ****************************** ******************************