AS 'MODULE_PATHNAME', 'chash_delete_test'
LANGUAGE C;
-CREATE FUNCTION test_dynahash()
+CREATE FUNCTION dynahash_insert_test()
RETURNS void
-AS 'MODULE_PATHNAME', 'test_dynahash'
+AS 'MODULE_PATHNAME', 'dynahash_insert_test'
+LANGUAGE C;
+
+CREATE FUNCTION dynahash_search_test()
+RETURNS void
+AS 'MODULE_PATHNAME', 'dynahash_search_test'
+LANGUAGE C;
+
+CREATE FUNCTION dynahash_delete_test()
+RETURNS void
+AS 'MODULE_PATHNAME', 'dynahash_delete_test'
LANGUAGE C;
Datum chash_insert_test(PG_FUNCTION_ARGS);
Datum chash_search_test(PG_FUNCTION_ARGS);
Datum chash_delete_test(PG_FUNCTION_ARGS);
-Datum test_dynahash(PG_FUNCTION_ARGS);
+Datum dynahash_insert_test(PG_FUNCTION_ARGS);
+Datum dynahash_search_test(PG_FUNCTION_ARGS);
+Datum dynahash_delete_test(PG_FUNCTION_ARGS);
static void hashtest_shmem_startup(void);
PG_FUNCTION_INFO_V1(chash_insert_test);
PG_FUNCTION_INFO_V1(chash_search_test);
PG_FUNCTION_INFO_V1(chash_delete_test);
-PG_FUNCTION_INFO_V1(test_dynahash);
+PG_FUNCTION_INFO_V1(dynahash_insert_test);
+PG_FUNCTION_INFO_V1(dynahash_search_test);
+PG_FUNCTION_INFO_V1(dynahash_delete_test);
typedef struct
{
}
Datum
-test_dynahash(PG_FUNCTION_ARGS)
+dynahash_insert_test(PG_FUNCTION_ARGS)
{
uint32 i;
- instr_time t0,
- t1,
- t2,
- t3;
-
- INSTR_TIME_SET_CURRENT(t0);
for (i = 0; i < 1000000; ++i)
{
elog(LOG, "insert %u: worked twice", i);
}
- INSTR_TIME_SET_CURRENT(t1);
+ PG_RETURN_VOID();
+}
+
+Datum
+dynahash_search_test(PG_FUNCTION_ARGS)
+{
+ uint32 i;
for (i = 0; i < 1000000; ++i)
{
elog(LOG, "search %u: found %u", i, val);
}
- INSTR_TIME_SET_CURRENT(t2);
+ PG_RETURN_VOID();
+}
+
+Datum
+dynahash_delete_test(PG_FUNCTION_ARGS)
+{
+ uint32 i;
for (i = 0; i < 1000000; ++i)
{
elog(LOG, "delete %u: found twice", i);
}
- INSTR_TIME_SET_CURRENT(t3);
- INSTR_TIME_SUBTRACT(t3, t2);
- INSTR_TIME_SUBTRACT(t2, t1);
- INSTR_TIME_SUBTRACT(t1, t0);
-
- elog(LOG, "inserts: %lu us; searches: %lu us; deletes: %lu us",
- (unsigned long) INSTR_TIME_GET_MICROSEC(t1),
- (unsigned long) INSTR_TIME_GET_MICROSEC(t2),
- (unsigned long) INSTR_TIME_GET_MICROSEC(t3));
-
PG_RETURN_VOID();
}