-
Notifications
You must be signed in to change notification settings - Fork 79
/
Copy pathmicrotime.xml
132 lines (122 loc) · 3.97 KB
/
microtime.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 5c951013ca04161992efed8b86fb40f55669958e Maintainer: hirokawa Status: ready -->
<!-- CREDITS: shimooka,mumumu -->
<refentry xml:id="function.microtime" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>microtime</refname>
<refpurpose>
現在の Unix タイムスタンプをマイクロ秒まで返す
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>float</type></type><methodname>microtime</methodname>
<methodparam choice="opt"><type>bool</type><parameter>as_float</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>
<function>microtime</function> は、現在の
Unix タイムスタンプをマイクロ秒単位で返します。
この関数は、gettimeofday() システムコールをサポートする
オペレーティングシステムでのみ使用できます。
</para>
<para>
パフォーマンスの計測には、<function>hrtime</function> を使うことをお勧めします。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>as_float</parameter></term>
<listitem>
<para>
&true; を指定すると、<function>microtime</function> は文字列ではなく
<type>float</type> を返すようになります。詳細は、戻り値の説明を参照ください。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
デフォルトでは、<function>microtime</function> は "msec sec"
形式の文字列を返します。ただし、<literal>sec</literal> は Unix エポック (1970 年 1 月 1 日 0:00:00 GMT)
からの経過秒数、<literal>msec</literal> は <literal>sec</literal>
から経過したマイクロ秒数を秒単位、つまり小数で表したものです。
</para>
<para>
<parameter>as_float</parameter> を
&true; に設定すると、<function>microtime</function> は Unixエポック からの経過秒数を
マイクロ秒で正確になるように <type>float</type> で表したものを返します。
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>タイマスクリプト実行</title>
<programlisting role="php">
<![CDATA[
<?php
$time_start = microtime(true);
// しばらくスリープ
usleep(100);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Did nothing in $time seconds\n";
?>
]]>
</programlisting>
</example>
<example>
<title><function>microtime</function> と <literal>REQUEST_TIME_FLOAT</literal> の例</title>
<programlisting role="php">
<![CDATA[
<?php
// ランダムな時間のスリープ
usleep(mt_rand(100, 10000));
// REQUEST_TIME_FLOAT をスーパーグローバル $_SERVER から取得できます。
// ここにはリクエスト開始時のタイムスタンプがマイクロ秒の精度で記録されています。
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "Did nothing in $time seconds\n";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>time</function></member>
<member><function>hrtime</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->