|
|
|
Сравнение дат на Си
|
|||
|---|---|---|---|
|
#18+
Agent 007 В 32 бит времевая информация неполная. Год только 7 бит, секунды через 2. Ето старая кодировка date:time из время ДОС-а. Где вы это вычитали? Дайте первоисточник pls. Мне не извесны 32 разрядные операционные системы, считающие время через секунду. Переполнение 32 разрядного time_t наступит : Считаем приблизительно 2^31 / 60*60*24*365 +1970 ~ = 2038 год. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2006, 17:22 |
|
||
|
Сравнение дат на Си
|
|||
|---|---|---|---|
|
#18+
onstat- Agent 007 В 32 бит времевая информация неполная. Год только 7 бит, секунды через 2. Ето старая кодировка date:time из время ДОС-а. Где вы это вычитали? Дайте первоисточник pls. Мне не извесны 32 разрядные операционные системы, считающие время через секунду. Переполнение 32 разрядного time_t наступит : Считаем приблизительно 2^31 / 60*60*24*365 +1970 ~ = 2038 год. Ок, виноват я. Думал о кодировке дата:час в 32 бит как у файлы в FAT, а в етом случае time_t секунды от 1970... Но - смотря на оригинального сообщения mxlPostgres, я думаю что ему сравнение нужно в связи с БД. Конверсия БД->time_t + сравнение 2 int будет медленно, чем БД->стринг_в_формате_YYYY-MM-DD... + сравнение 2 стрингов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2006, 17:44 |
|
||
|
Сравнение дат на Си
|
|||
|---|---|---|---|
|
#18+
Agent 007 onstat- Agent 007 В 32 бит времевая информация неполная. Год только 7 бит, секунды через 2. Ето старая кодировка date:time из время ДОС-а. Где вы это вычитали? Дайте первоисточник pls. Мне не извесны 32 разрядные операционные системы, считающие время через секунду. Переполнение 32 разрядного time_t наступит : Считаем приблизительно 2^31 / 60*60*24*365 +1970 ~ = 2038 год. Ок, виноват я. Думал о кодировке дата:час в 32 бит как у файлы в FAT, а в етом случае time_t секунды от 1970... Но - смотря на оригинального сообщения mxlPostgres, я думаю что ему сравнение нужно в связи с БД. Конверсия БД->time_t + сравнение 2 int будет медленно, чем БД->стринг_в_формате_YYYY-MM-DD... + сравнение 2 стрингов. в БД есть функции сравнения дат. Если бы автора интресовал вопрос относительно бд он бы обратился в раздел соответствующий его базе. Если говорить о сравнении строковых дат и чиловых, то давайте померяем. Мне лень писать строковый сравнитель а вот числовой пожалуйста. Код: plaintext 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. Если вызовы gettimeofday подвигать по коду видно что основную массу времени действительно съедает mktime У меня все сравнение занимает от 250- 450 микросекунд. Если кто напишет строковый сравнитель можно будет проверить. Программа легко дополняется операциями со временем. Код писался под Linux. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2006, 17:49 |
|
||
|
Сравнение дат на Си
|
|||
|---|---|---|---|
|
#18+
onstat- Agent 007 onstat- Agent 007 В 32 бит времевая информация неполная. Год только 7 бит, секунды через 2. Ето старая кодировка date:time из время ДОС-а. Где вы это вычитали? Дайте первоисточник pls. Мне не извесны 32 разрядные операционные системы, считающие время через секунду. Переполнение 32 разрядного time_t наступит : Считаем приблизительно 2^31 / 60*60*24*365 +1970 ~ = 2038 год. Ок, виноват я. Думал о кодировке дата:час в 32 бит как у файлы в FAT, а в етом случае time_t секунды от 1970... Но - смотря на оригинального сообщения mxlPostgres, я думаю что ему сравнение нужно в связи с БД. Конверсия БД->time_t + сравнение 2 int будет медленно, чем БД->стринг_в_формате_YYYY-MM-DD... + сравнение 2 стрингов. в БД есть функции сравнения дат. Если бы автора интресовал вопрос относительно бд он бы обратился в раздел соответствующий его базе. Если говорить о сравнении строковых дат и чиловых, то давайте померяем. Мне лень писать строковый сравнитель а вот числовой пожалуйста. Код: plaintext 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. Если вызовы gettimeofday подвигать по коду видно что основную массу времени действительно съедает mktime У меня все сравнение занимает от 250- 450 микросекунд. Если кто напишет строковый сравнитель можно будет проверить. Программа легко дополняется операциями со временем. Код писался под Linux. Я уверен что даже только один из sscanf-ов теряет более времени чем strcmp. Сравнение времени будет точнее если вычислиш 1000 или 10000+ сравнения двух методов, чем ети микросекунды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2006, 19:49 |
|
||
|
Сравнение дат на Си
|
|||
|---|---|---|---|
|
#18+
Строки нужны для хранения имен, адресов или других слов. Для хранения дат нужно использовать специализированный целочисленный тип. Точка. Очень любят со строками работать индусы - им вообще другие типы не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2006, 20:55 |
|
||
|
Сравнение дат на Си
|
|||
|---|---|---|---|
|
#18+
Сергей ИльичСтроки нужны для хранения имен, адресов или других слов. Для хранения дат нужно использовать специализированный целочисленный тип. Точка. Очень любят со строками работать индусы - им вообще другие типы не нужны. Пропустил пояснить, что ето только твое мнение. А индусы не так глупые. Лучше бы сказал албанцы как храняют даты :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2006, 21:46 |
|
||
|
Сравнение дат на Си
|
|||
|---|---|---|---|
|
#18+
Agent 007 Я уверен что даже только один из sscanf-ов теряет более времени чем strcmp. Сравнение времени будет точнее если вычислиш 1000 или 10000+ сравнения двух методов, чем ети микросекунды. Сейчас разговор безпредметный. Вы напешите код, а потом сравнивать будем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2006, 11:32 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33624311&tid=2031685]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
151ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 450ms |

| 0 / 0 |
