libdrizzle: performance: don't memset(0) drizzle_column_st, which is huge
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Drizzle |
Fix Released
|
Medium
|
Monty Taylor | ||
7.0 |
Fix Released
|
Medium
|
Monty Taylor |
Bug Description
drizzle_
The attached patch is against my internal source project, since pulling the drizzle bazaar repository to this machine is taking way too long (its huge!). This means you'll need to use patch -p3 or -p4. I *think* I've initialized all the required fields, although it has only been lightly tested. In my application, this runs with ~10 concurrent requests without valgrind complaining.
Related branches
- Lee Bieber (community): Needs Fixing
-
Diff: 53 lines (+39/-3)1 file modifiedlibdrizzle/column.c (+39/-3)
On Wed, 08 Dec 2010 22:34:15 -0000, Evan Jones <email address hidden> wrote: column_ create gets called once for every column in every result *column_ ptr)). This structure is ~6 kB in
> drizzle_
> set that is received by libdrizzle. This function calls
> memset(column_ptr, 0, sizeof(
> size. For my performance sensitive libdrizzle application that reads
> many small result sets, this means it is writing far more zeros to
> memory than actual data. Removing this call to memset improved the
> throughput of my application by 25%!
Cool!
Have you run it through with valgrind?
--
Stewart Smith