Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Eric Sosman <esosman@comcast-dot-net.invalid> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: How to apply qsort() with a parameter? |
| Date | 2012-10-23 10:13 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <k668lo$u8g$1@dont-email.me> (permalink) |
| References | (1 earlier) <k6441n$oa7$1@dont-email.me> <k6452n$vb3$1@dont-email.me> <3606b512-c0d2-444b-8547-d3013cf8d0db@n16g2000yqi.googlegroups.com> <k64bpp$o0d$1@dont-email.me> <c37660d8-0fa2-46b2-9dfc-9376d0690dd5@d3g2000vbj.googlegroups.com> |
On 10/23/2012 10:05 AM, tom st denis wrote:
> On Oct 22, 4:54 pm, Eric Sosman <esos...@comcast-dot-net.invalid>
> wrote:
>> On 10/22/2012 4:25 PM, tom st denis wrote:
>>
>>> On Oct 22, 2:59 pm, Eric Sosman <esos...@comcast-dot-net.invalid>
>>> wrote:
>>>> [...]
>>>> This setup repeats the switch decision -- which is "just
>>>> overhead" -- for every comparison, and there may be a lot of
>>>> them. It would almost surely be better to have three short
>>>> comparators than one omnibus comparator.
>>
>>> But that code is not thread safe and it's not really any simpler than
>>> just calling qsort with a variable as the compare callback that is
>>> determined locally on the stack.
>>
>> Since qsort() itself need not be thread-safe (it need not
>> even be re-entrant within just one thread), the thread-safety
>> of a comparator scarcely matters. A thread-safe comparator
>> could be called by qsort() in one thread while another called
>> it via bsearch(), but that's a bit of a stretch.
>
> It's generally a bad idea to write thread unsafe code on purpose
> unless you have a reason.
>
>> My personal parser recognizes all the words in your second
>> and third lines, but is unable to make sense of them.
>
> I was saying in the function where you call qsort() you could resolve
> there which key to sort on and then call the appropriate comparator
> function. Instead of having one compare function you'd have n and
> they'd all compare a different key.
Ah! Okay, we're in violent agreement. That's exactly
what I meant by suggesting "It would almost surely be better
to have three short comparators than one omnibus comparator."
--
Eric Sosman
esosman@comcast-dot-net.invalid
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
How to apply qsort() with a parameter? rouben@shadow.(none) (Rouben Rostamian) - 2012-10-22 17:51 +0000
Re: How to apply qsort() with a parameter? ImpalerCore <jadill33@gmail.com> - 2012-10-22 11:18 -0700
Re: How to apply qsort() with a parameter? ImpalerCore <jadill33@gmail.com> - 2012-10-22 11:26 -0700
Re: How to apply qsort() with a parameter? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-10-22 20:27 +0100
Re: How to apply qsort() with a parameter? tom st denis <tom@iahu.ca> - 2012-10-22 11:38 -0700
Re: How to apply qsort() with a parameter? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-22 14:41 -0400
Re: How to apply qsort() with a parameter? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-22 14:59 -0400
Re: How to apply qsort() with a parameter? tom st denis <tom@iahu.ca> - 2012-10-22 13:25 -0700
Re: How to apply qsort() with a parameter? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-22 16:54 -0400
Re: How to apply qsort() with a parameter? Robert Wessel <robertwessel2@yahoo.com> - 2012-10-22 23:25 -0500
Re: How to apply qsort() with a parameter? James Kuyper <jameskuyper@verizon.net> - 2012-10-23 07:42 -0400
Re: How to apply qsort() with a parameter? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-23 08:14 -0400
Re: How to apply qsort() with a parameter? tom st denis <tom@iahu.ca> - 2012-10-23 07:05 -0700
Re: How to apply qsort() with a parameter? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-23 10:13 -0400
Re: How to apply qsort() with a parameter? "Scott Fluhrer" <sfluhrer@ix.netcom.com> - 2012-10-23 10:28 -0400
Re: How to apply qsort() with a parameter? Eric Sosman <esosman@comcast-dot-net.invalid> - 2012-10-23 10:56 -0400
Re: How to apply qsort() with a parameter? Öö Tiib <ootiib@hot.ee> - 2012-10-22 15:30 -0700
Re: How to apply qsort() with a parameter? rouben@shady.(none) (Rouben Rostamian) - 2012-10-23 03:52 +0000
Re: How to apply qsort() with a parameter? Keith Thompson <kst-u@mib.org> - 2012-10-22 22:46 -0700
Re: How to apply qsort() with a parameter? pete <pfiland@mindspring.com> - 2012-10-23 16:03 -0400
Re: How to apply qsort() with a parameter? Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-10-23 06:43 -0700
csiph-web