Date: Tue, 18 Jan 2005 21:32:35 +0100 From: Simon 'corecode' Schubert <corecode@fs.ei.tum.de> To: freebsd-hackers@freebsd.org Cc: Street Chaman <street_chaman@hotmail.com> Subject: Re: Kernel mode programming -precisions Message-ID: <200501182132.44384.corecode@fs.ei.tum.de> In-Reply-To: <BAY15-F6A965C17D8FF205AB06FC998F0@phx.gbl> References: <BAY15-F6A965C17D8FF205AB06FC998F0@phx.gbl>
next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart4532779.pnLIk1ZdN4 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Tuesday, 18. January 2005 20:54, Street Chaman wrote: > Actually, my soft is a kind of interactive filter: it takes a lot of imput > parameters (from keyboard at the moment, but as soon as i've understood h= ow > it works, i will increase the number of supported io devices); treats it = in > a particular way and produces an output. This 'particular way' requires a > lot of clock cycle, so speed is my first problem; (that's part of reason > why everything is directly written in assembly). I've already buffered > input and output, but only as far at it was possible: since loop (X) input > could affect loop (X-1) general data manipulation, and change output, it > must be detected quickly. The time needed to read/write is still to long. > When CPU is waiting on some new data, he cannot preform any other > operation, and freezes data manipultion; that's why I'm looking for a new > way to in/output the soft... you don't describe where the data comes from and where to goes to. if it's = a=20 file, you might want to use memory mapped files (mmap(2)), which will give= =20 you (about) the least overhead in reading/writing which can be achieved. so your problem more sounds like a cpu-bound than an io-bound application.= =20 details could help to understand and give advice. oh yes, if your "particular way" is so complex and critical that it needs t= o=20 be written in assembler you might even consider using an FPGA extension, bu= t=20 that's a completely other way of solving speed problems. furthermore that's= =20 just of interest if your algorithm is vectorizable, and it didn't sound lik= e=20 it. cheers simon =2D-=20 /"\ \ / \ ASCII Ribbon Campaign / \ Against HTML Mail and News --nextPart4532779.pnLIk1ZdN4 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQBB7XJsr5S+dk6z85oRAqltAJ94vQxOs+F4Reir90gYgtO+MgTPsACgzK37 4c2zxRBoPXc+62Fd7v1bumc= =DcO4 -----END PGP SIGNATURE----- --nextPart4532779.pnLIk1ZdN4--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200501182132.44384.corecode>