From: "Brandon J. Van Every" <vanevery@indiegamedesign.com>
To: "caml" <caml-list@inria.fr>
Subject: RE: [Caml-list] 32 bit floats, SSE instructions
Date: Mon, 7 Jun 2004 22:42:41 -0700 [thread overview]
Message-ID: <OOEALCJCKEBJBIJHCNJDEEEOHDAB.vanevery@indiegamedesign.com> (raw)
In-Reply-To: <001c01c44ccf$964e4670$19b0e152@warp>
Nicolas Cannasse wrote:
>
> The main problem with float's - whatever if they are 32 or 64
> bits - is
> their boxing . OCaml runtime value representation is
> efficient but a float -
> even 32 bits - cannot be carried in a register as it could be in C.
> (actually some unboxing can be performed locally by ocamlopt). This is
> mainly because OCaml is an high-level language, with a
> garbage collector,
> and so needs to keep the track of what is being allocated in
> an efficient
> way. Did you imagine having an higher level programming
> language for free ?
Sounds like someone decided to pay for efficiency with uncleanliness.
That is not the only way to pay for things. One could instead, for
instance, pay with a more difficult implementation.
> So yes maybe OCaml is not the best language to perform floating point
> operations, although the cost of boxing is actually quite
> small compared to
> the power of implementing easily more efficient algorithms.
The old "ah, let the algorithm deal with it!" saw. Yawn.
> That's why you
> should perform batched operations in C - using 32bits float
> if you want -
> and manipulate your 64-bits vectors on the Ocaml side.
Since when are all numeric problems batch problems? Batching in C is
only practical when problems are simple and highly repetitive. What a
3D graphics guy often really wants, is the ability to inline a bunch of
function "pipeline" stages into one fairly complicated function. The
transitions between pipeline stages should all be optimized together.
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA
"We live in a world of very bright people building
crappy software with total shit for tools and process."
- Ed Mckenzie
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.693 / Virus Database: 454 - Release Date: 5/31/2004
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
next prev parent reply other threads:[~2004-06-08 5:34 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-07 11:13 Brandon J. Van Every
2004-06-07 11:32 ` Christophe TROESTLER
[not found] ` <20040607131717.GA12136@gaia.cc.gatech.edu>
2004-06-07 16:53 ` Christophe TROESTLER
2004-06-07 19:30 ` Brandon J. Van Every
2004-06-07 20:39 ` Nicolas Cannasse
2004-06-08 5:42 ` Brandon J. Van Every [this message]
2004-06-08 16:54 ` Jon Harrop
2004-06-08 20:50 ` Brandon J. Van Every
2004-06-09 3:19 ` skaller
2004-06-08 14:23 ` Keith Wansbrough
2004-06-10 14:43 ` David Brown
2004-06-10 15:20 ` Keith Wansbrough
2004-06-10 15:57 ` skaller
2004-06-10 16:23 ` Keith Wansbrough
2004-06-10 16:47 ` skaller
2004-06-10 19:46 ` Evan Martin
2004-06-07 21:00 ` Richard Jones
2004-06-07 21:42 ` Jon Harrop
2004-06-09 15:55 ` Richard Jones
2004-06-07 22:48 ` Chris Clearwater
2004-06-07 17:01 ` brogoff
2004-06-08 1:50 ` Brian Hurt
2004-06-08 5:27 ` Brandon J. Van Every
2004-06-08 15:05 ` Brian Hurt
2004-06-08 16:50 ` art yerkes
2004-06-08 17:10 ` Jon Harrop
2004-06-08 19:24 ` Brandon J. Van Every
2004-06-09 0:25 ` Jon Harrop
2004-06-09 1:28 ` [Caml-list] 3D graphics debate Brandon J. Van Every
2004-06-09 2:40 ` Jon Harrop
2004-06-09 8:09 ` Brandon J. Van Every
2004-06-09 1:33 ` [Caml-list] 32 bit floats, SSE instructions Brandon J. Van Every
2004-06-09 3:04 ` Jon Harrop
2004-06-09 8:33 ` [Caml-list] The multiresolution business model Brandon J. Van Every
2004-06-09 3:27 ` [Caml-list] 32 bit floats, SSE instructions skaller
2004-06-09 14:21 ` Christophe TROESTLER
2004-06-09 2:57 ` [Caml-list] RE: 3D Rendering pipeline Brian Hurt
2004-06-10 17:55 ` [Caml-list] Re: [Ocaml-lib-devel] " Nicolas Cannasse
2004-06-08 8:10 [Caml-list] 32 bit floats, SSE instructions Ennals, Robert
2004-06-08 11:17 ` skaller
2004-06-08 17:42 ` John Carr
2004-06-09 16:13 ` Xavier Leroy
2004-06-08 17:15 Jon Harrop
2004-06-08 19:59 ` Brandon J. Van Every
2004-06-09 3:15 ` skaller
2004-06-09 4:08 ` Brian Hurt
2004-06-09 6:33 ` skaller
2004-06-09 16:26 ` Xavier Leroy
2004-06-09 17:58 ` Christophe TROESTLER
2004-06-09 18:15 ` Daniel Ortmann
2004-06-09 18:52 ` Kenneth Knowles
2004-06-09 20:03 ` John Carr
2004-06-09 19:54 ` Brandon J. Van Every
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=OOEALCJCKEBJBIJHCNJDEEEOHDAB.vanevery@indiegamedesign.com \
--to=vanevery@indiegamedesign.com \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox